X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached.hpp;h=8c5ca934c9055fda7b1539d927256697f1a53ac9;hb=6949713f6af6882749d4827e6af46c3ca7c3e8ff;hp=0b27291b095ca3f76dd908759900fe2325baf1f4;hpb=28adf7b936c6f5c25b7526ff56ec1256da1246d4;p=awesomized%2Flibmemcached diff --git a/libmemcached/memcached.hpp b/libmemcached/memcached.hpp index 0b27291b..8c5ca934 100644 --- a/libmemcached/memcached.hpp +++ b/libmemcached/memcached.hpp @@ -98,6 +98,32 @@ public: return memcached_strerror(NULL, rc); } + bool error(std::string& error_message) const + { + if (memcached_failed(memcached_last_error(memc))) + { + error_message+= memcached_last_error_message(memc); + return true; + } + + return false; + } + + bool error() const + { + if (memcached_failed(memcached_last_error(memc))) + { + return true; + } + + return false; + } + + bool error(memcached_return_t& arg) const + { + arg= memcached_last_error(memc); + return memcached_failed(arg); + } bool setBehavior(memcached_behavior_t flag, uint64_t data) { @@ -117,7 +143,17 @@ public: */ bool configure(const std::string &configuration) { - return memcached_success(memcached_parse_configuration(memc, configuration.c_str(), configuration.size())); + memcached_st *new_memc= memcached(configuration.c_str(), configuration.size()); + + if (new_memc) + { + memcached_free(memc); + memc= new_memc; + + return true; + } + + return false; } /** @@ -320,7 +356,7 @@ public: key.c_str(), key.length(), &value[0], value.size(), expiration, flags); - return (rc == MEMCACHED_SUCCESS || rc == MEMCACHED_BUFFERED); + return memcached_success(rc); } /**