Cleanup of behavior (refactored...)
[m6w6/libmemcached] / lib / memcached_behavior.c
index bf90d75ec9e3f5fd2d1d8d6e43adfa6e1630e10b..7383b4e22d400c85a8f444e4c6c2923e19370bc0 100644 (file)
@@ -13,33 +13,27 @@ memcached_return memcached_behavior_set(memcached_st *ptr,
                                         memcached_behavior flag, 
                                         void *data)
 {
+  memcached_flags temp_flag;
+
   switch (flag)
   {
   case MEMCACHED_BEHAVIOR_NO_BLOCK:
-    {
-      unsigned int *truefalse= (unsigned int *)data;
-      memcached_quit(ptr);
-      if (truefalse)
-        ptr->flags|= MEM_NO_BLOCK;
-      else
-        ptr->flags+= MEM_NO_BLOCK;
-      break;
-    }
-
+    temp_flag= MEM_NO_BLOCK;
   case MEMCACHED_BEHAVIOR_TCP_NODELAY:
+    temp_flag= MEM_TCP_NODELAY;
+  case MEMCACHED_BEHAVIOR_MD5_HASHING:
+    temp_flag= MEM_USE_MD5;
+  case MEMCACHED_BEHAVIOR_KETAMA:
+    temp_flag= MEM_USE_KETAMA;
     {
       unsigned int *truefalse= (unsigned int *)data;
       memcached_quit(ptr);
       if (truefalse)
-        ptr->flags|= MEM_TCP_NODELAY;
+        ptr->flags|= temp_flag;
       else
-        ptr->flags+= MEM_TCP_NODELAY;
+        ptr->flags+= temp_flag;
       break;
     }
-
-  case MEMCACHED_BEHAVIOR_MD5_HASHING:
-    ptr->flags+= MEM_USE_MD5;
-    break;
   }
 
   return MEMCACHED_SUCCESS;
@@ -48,20 +42,19 @@ memcached_return memcached_behavior_set(memcached_st *ptr,
 unsigned long long memcached_behavior_get(memcached_st *ptr, 
                                           memcached_behavior flag)
 {
+  memcached_flags temp_flag;
+
   switch (flag)
   {
   case MEMCACHED_BEHAVIOR_NO_BLOCK:
-    if (ptr->flags & MEM_NO_BLOCK)
-      return 1;
-    else
-      return 0;
+    temp_flag= MEM_NO_BLOCK;
   case MEMCACHED_BEHAVIOR_TCP_NODELAY:
-    if (ptr->flags & MEM_TCP_NODELAY)
-      return 1;
-    else
-      return 0;
+    temp_flag= MEM_TCP_NODELAY;
   case MEMCACHED_BEHAVIOR_MD5_HASHING:
-    if (ptr->flags & MEM_USE_MD5)
+    temp_flag= MEM_USE_MD5;
+  case MEMCACHED_BEHAVIOR_KETAMA:
+    temp_flag= MEM_USE_KETAMA;
+    if (ptr->flags & temp_flag)
       return 1;
     else
       return 0;