Minor cleanup in confirming socket close.
[m6w6/libmemcached] / libmemcached / error.cc
index 625c3e702645075f05b8efaa52fd36ec6f5111f5..f4ce85d0c70498383518502eb8d46950de0091a3 100644 (file)
@@ -36,7 +36,9 @@
  */
 
 #include <libmemcached/common.h>
+#include <cerrno>
 #include <cstdarg>
+#include <cstdio>
 
 #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;