Merge up trunk
[m6w6/libmemcached] / libmemcached / behavior.cc
index 6546efbaf5273b4d189a3b18f7ba8e3894f04ae6..a6988a225c15a1541766af723365a9c6b3711056 100644 (file)
@@ -36,6 +36,7 @@
  */
 
 #include <libmemcached/common.h>
+#include <libmemcached/options.hpp>
 #include <libmemcached/virtual_bucket.h>
 
 #include <ctime>
@@ -211,7 +212,7 @@ memcached_return_t memcached_behavior_set(memcached_st *ptr,
                                memcached_literal_param("MEMCACHED_BEHAVIOR_USER_DATA deprecated."));
 
   case MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY:
-    ptr->flags.hash_with_prefix_key= bool(data);
+    ptr->flags.hash_with_namespace= bool(data);
     break;
 
   case MEMCACHED_BEHAVIOR_NOREPLY:
@@ -238,7 +239,7 @@ memcached_return_t memcached_behavior_set(memcached_st *ptr,
   case MEMCACHED_BEHAVIOR_MAX:
   default:
     /* Shouldn't get here */
-    WATCHPOINT_ASSERT(0);
+    assert_msg(0, "Invalid behavior passed to memcached_behavior_set()");
     return memcached_set_error(*ptr, MEMCACHED_INVALID_ARGUMENTS, MEMCACHED_AT,
                                memcached_literal_param("Invalid behavior passed to memcached_behavior_set()"));
   }
@@ -254,6 +255,11 @@ bool _is_auto_eject_host(const memcached_st *ptr)
 uint64_t memcached_behavior_get(memcached_st *ptr,
                                 const memcached_behavior_t flag)
 {
+  if (not ptr)
+  {
+    return MEMCACHED_INVALID_ARGUMENTS;
+  }
+
   switch (flag)
   {
   case MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS:
@@ -409,7 +415,7 @@ uint64_t memcached_behavior_get(memcached_st *ptr,
     return 0;
 
   case MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY:
-    return ptr->flags.hash_with_prefix_key;
+    return ptr->flags.hash_with_namespace;
 
   case MEMCACHED_BEHAVIOR_NOREPLY:
     return ptr->flags.no_reply;
@@ -435,7 +441,7 @@ uint64_t memcached_behavior_get(memcached_st *ptr,
 
   case MEMCACHED_BEHAVIOR_MAX:
   default:
-    WATCHPOINT_ASSERT(0); /* Programming mistake if it gets this far */
+    assert_msg(0, "Invalid behavior passed to memcached_behavior_set()");
     return 0;
   }