Merge from build trunk.
[awesomized/libmemcached] / libmemcached / error.cc
index e22871cd12b91f426116f2f020b53e6c6d76d846..becffd23014b3a10256fa61672f905def9587ab3 100644 (file)
@@ -62,7 +62,7 @@ static void _set(memcached_server_st& server, memcached_st& memc)
     return;
   }
 
-  memcached_error_t *error= (struct memcached_error_t *)libmemcached_malloc(&memc, sizeof(struct memcached_error_t));
+  memcached_error_t *error= libmemcached_xmalloc(&memc, memcached_error_t);
   if (error == NULL) // Bad business if this happens
   {
     return;
@@ -112,7 +112,7 @@ static void _set(memcached_st& memc, memcached_string_t *str, memcached_return_t
     rc= MEMCACHED_CONNECTION_FAILURE;
   }
 
-  memcached_error_t *error= (struct memcached_error_t *)libmemcached_malloc(&memc, sizeof(struct memcached_error_t));
+  memcached_error_t *error= libmemcached_xmalloc(&memc, memcached_error_t);
   if (error == NULL) // Bad business if this happens
   {
     return;
@@ -395,11 +395,11 @@ static void _error_print(const memcached_error_t *error)
 
   if (error->size == 0)
   {
-    fprintf(stderr, "%s\n", memcached_strerror(NULL, error->rc) );
+    fprintf(stderr, "\t%s\n", memcached_strerror(NULL, error->rc) );
   }
   else
   {
-    fprintf(stderr, "%s %s\n", memcached_strerror(NULL, error->rc), error->message);
+    fprintf(stderr, "\t%s %s\n", memcached_strerror(NULL, error->rc), error->message);
   }
 
   _error_print(error->next);
@@ -407,10 +407,19 @@ static void _error_print(const memcached_error_t *error)
 
 void memcached_error_print(const memcached_st *self)
 {
-  if (not self)
+  if (self == NULL)
+  {
     return;
+  }
 
   _error_print(self->error_messages);
+
+  for (uint32_t x= 0; x < memcached_server_count(self); x++)
+  {
+    memcached_server_instance_st instance= memcached_server_instance_by_position(self, x);
+
+    _error_print(instance->error_messages);
+  }
 }
 
 static void _error_free(memcached_error_t *error)
@@ -533,7 +542,7 @@ memcached_error_t *memcached_error_copy(const memcached_server_st& server)
     return NULL;
   }
 
-  memcached_error_t *error= (memcached_error_t *)libmemcached_malloc(server.root, sizeof(memcached_error_t));
+  memcached_error_t *error= libmemcached_xmalloc(server.root, memcached_error_t);
   memcpy(error, server.error_messages, sizeof(memcached_error_t));
   error->next= NULL;