Fix cppcheck warnings.
[m6w6/libmemcached] / libmemcached / array.c
index 2412369e2a4199d81815d5d04cad496b4602ddcd..5f9066ce9fd689254556f7e234288e04695ed1bb 100644 (file)
  *
  */
 
-#include "libmemcached/common.h"
+#include <libmemcached/common.h>
+#include <assert.h>
+#include <iso646.h>
 
 struct memcached_array_st
 {
-  memcached_st *root;
+  struct memcached_st *root;
   size_t size;
   char c_str[];
 };
 
-memcached_array_st *memcached_array_clone(memcached_st *memc, const memcached_array_st *original)
+
+memcached_array_st *memcached_array_clone(struct memcached_st *memc, const memcached_array_st *original)
 {
-  if (! original)
-    return NULL;
+  if (original)
+  {
+    return memcached_strcpy(memc, original->c_str, original->size);
+  }
 
-  return memcached_strcpy(memc, original->c_str, original->size);
+  return NULL;
 }
 
-memcached_array_st *memcached_strcpy(memcached_st *memc, const char *str, size_t str_length)
+memcached_array_st *memcached_strcpy(struct memcached_st *memc, const char *str, size_t str_length)
 {
-  memcached_array_st *array= (struct memcached_array_st *)libmemcached_malloc(memc, sizeof(struct memcached_array_st) +str_length +1);
+  assert(memc);
+  assert(str);
+  assert(str_length);
 
-  if (! array)
-    return NULL;
+  memcached_array_st *array= (struct memcached_array_st *)libmemcached_malloc(memc, sizeof(struct memcached_array_st) +str_length +1);
 
-  array->root= memc;
-  array->size= str_length -1; // We don't count the NULL ending
-  memcpy(array->c_str, str, str_length);
-  array->c_str[str_length]= 0;
+  if (array)
+  {
+    array->root= memc;
+    array->size= str_length; // We don't count the NULL ending
+    memcpy(array->c_str, str, str_length);
+    array->c_str[str_length]= 0;
+  }
 
   return array;
 }
 
+bool memcached_array_is_null(memcached_array_st *array)
+{
+  if (array)
+  {
+    return false;
+  }
+
+  return true;
+}
+
 memcached_string_t memcached_array_to_string(memcached_array_st *array)
 {
+  assert(array);
+  assert(array->c_str);
+  assert(array->size);
   memcached_string_t tmp;
   tmp.c_str= array->c_str;
   tmp.size= array->size;
@@ -78,32 +100,29 @@ memcached_string_t memcached_array_to_string(memcached_array_st *array)
 
 void memcached_array_free(memcached_array_st *array)
 {
-  if (! array)
-    return;
-
-  WATCHPOINT_ASSERT(array->root);
-  if (array && array->root)
+  if (array)
   {
+    WATCHPOINT_ASSERT(array->root);
     libmemcached_free(array->root, array);
   }
-  else if (array)
-  {
-    free(array);
-  }
 }
 
 size_t memcached_array_size(memcached_array_st *array)
 {
-  if (! array)
-    return 0;
+  if (array)
+  {
+    return array->size;
+  }
 
-  return array->size;
+  return 0;
 }
 
 const char *memcached_array_string(memcached_array_st *array)
 {
-  if (! array)
-    return NULL;
+  if (array)
+  {
+    return array->c_str;
+  }
 
-  return array->c_str;
+  return NULL;
 }