Remove special condition for block and version.
[awesomized/libmemcached] / libmemcached / util / version.c
index e5b5ae1df8f17ec965826b259e6524d4ce49e2f5..a4d5b2d431b2c50fd629112af4b48394cda550f7 100644 (file)
@@ -29,7 +29,8 @@ static memcached_return_t check_server_version(const memcached_st *ptr __attribu
   /* Do Nothing */
   struct local_context *check= (struct local_context *)context;
 
-  if (instance->major_version >= check->major_version &&
+  if (instance->major_version != UINT8_MAX &&
+      instance->major_version >= check->major_version &&
       instance->minor_version >= check->minor_version &&
       instance->micro_version >= check->micro_version )
   {
@@ -47,9 +48,12 @@ bool libmemcached_util_version_check(memcached_st *memc,
                                      uint8_t micro_version)
 {
   memcached_server_fn callbacks[1];
-  memcached_version(memc);
+  memcached_return_t rc= memcached_version(memc);
 
- struct local_context check= { .major_version= major_version, .minor_version= minor_version, .micro_version= micro_version, .truth= true };
+  if (rc != MEMCACHED_SUCCESS)
+    return false;
+
+  struct local_context check= { .major_version= major_version, .minor_version= minor_version, .micro_version= micro_version, .truth= true };
 
   callbacks[0]= check_server_version;
   memcached_server_cursor(memc, callbacks, (void *)&check,  1);