X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Ferror.cc;h=f4ce85d0c70498383518502eb8d46950de0091a3;hb=bf8213041709c75147393c8bd6b51b8f9e064f7c;hp=625c3e702645075f05b8efaa52fd36ec6f5111f5;hpb=f394daf7046f1bac65f760f79209b034721dffd1;p=m6w6%2Flibmemcached diff --git a/libmemcached/error.cc b/libmemcached/error.cc index 625c3e70..f4ce85d0 100644 --- a/libmemcached/error.cc +++ b/libmemcached/error.cc @@ -36,7 +36,9 @@ */ #include +#include #include +#include #define MAX_ERROR_LENGTH 2048 struct memcached_error_t @@ -50,7 +52,7 @@ struct memcached_error_t char message[MAX_ERROR_LENGTH]; }; -static void _set(org::libmemcached::Instance& server, memcached_st& memc) +static void _set(org::libmemcached::Instance& server, Memcached& memc) { if (server.error_messages and server.error_messages->query_id != server.root->query_id) { @@ -139,7 +141,7 @@ static void _set(memcached_st& memc, memcached_string_t *str, memcached_return_t if (local_errno) { -#ifdef STRERROR_R_CHAR_P +#if defined(STRERROR_R_CHAR_P) && STRERROR_R_CHAR_P errmsg_ptr= strerror_r(local_errno, errmsg, sizeof(errmsg)); #elif defined(HAVE_STRERROR_R) && HAVE_STRERROR_R strerror_r(local_errno, errmsg, sizeof(errmsg)); @@ -153,37 +155,37 @@ static void _set(memcached_st& memc, memcached_string_t *str, memcached_return_t if (str and str->size and local_errno) { - error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "(%lu) %s(%s), %.*s -> %s", - long(error->root), + error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "(%p) %s(%s), %.*s -> %s", + error->root, memcached_strerror(&memc, rc), errmsg_ptr, memcached_string_printf(*str), at); } else if (local_errno) { - error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "(%lu) %s(%s) -> %s", - long(error->root), + error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "(%p) %s(%s) -> %s", + error->root, memcached_strerror(&memc, rc), errmsg_ptr, at); } else if (rc == MEMCACHED_PARSE_ERROR and str and str->size) { - error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "(%lu) %.*s -> %s", - long(error->root), + error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "(%p) %.*s -> %s", + error->root, int(str->size), str->c_str, at); } else if (str and str->size) { - error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "(%lu) %s, %.*s -> %s", - long(error->root), + error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "(%p) %s, %.*s -> %s", + error->root, memcached_strerror(&memc, rc), int(str->size), str->c_str, at); } else { - error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "(%lu) %s -> %s", - long(error->root), + error->size= (int)snprintf(error->message, MAX_ERROR_LENGTH, "(%p) %s -> %s", + error->root, memcached_strerror(&memc, rc), at); } @@ -467,8 +469,9 @@ static void _error_print(const memcached_error_t *error) _error_print(error->next); } -void memcached_error_print(const memcached_st *self) +void memcached_error_print(const memcached_st *shell) { + const Memcached* self= memcached2Memcached(shell); if (self == NULL) { return; @@ -517,8 +520,9 @@ const char *memcached_error(const memcached_st *memc) return memcached_last_error_message(memc); } -const char *memcached_last_error_message(const memcached_st *memc) +const char *memcached_last_error_message(const memcached_st *shell) { + const Memcached* memc= memcached2Memcached(shell); if (memc) { if (memc->error_messages) @@ -554,8 +558,9 @@ bool memcached_has_current_error(org::libmemcached::Instance& server) return memcached_has_current_error(*(server.root)); } -memcached_return_t memcached_last_error(const memcached_st *memc) +memcached_return_t memcached_last_error(const memcached_st *shell) { + const Memcached* memc= memcached2Memcached(shell); if (memc) { if (memc->error_messages) @@ -569,8 +574,9 @@ memcached_return_t memcached_last_error(const memcached_st *memc) return MEMCACHED_INVALID_ARGUMENTS; } -int memcached_last_error_errno(const memcached_st *memc) +int memcached_last_error_errno(const memcached_st *shell) { + const Memcached* memc= memcached2Memcached(shell); if (memc == NULL) { return 0;