Bug fix by Trond
[awesomized/libmemcached] / libmemcached / util / version.c
index 000db326cc8b87f2c8fddc8efa6937602e86f3d1..7c936c715a6233f497843bf85106a6214ea8bcd5 100644 (file)
@@ -16,8 +16,8 @@
 struct local_context
 {
   uint8_t major_version;
-  uint8_t micro_version;
   uint8_t minor_version;
+  uint8_t micro_version;
 
   bool truth;
 };
@@ -30,8 +30,8 @@ static memcached_return_t check_server_version(const memcached_st *ptr __attribu
   struct local_context *check= (struct local_context *)context;
 
   if (instance->major_version >= check->major_version &&
-      instance->micro_version >= check->micro_version &&
-      instance->minor_version >= check->minor_version)
+      instance->minor_version >= check->minor_version &&
+      instance->micro_version >= check->micro_version )
   {
     return MEMCACHED_SUCCESS;
   }
@@ -43,13 +43,14 @@ static memcached_return_t check_server_version(const memcached_st *ptr __attribu
 
 bool libmemcached_util_version_check(memcached_st *memc, 
                                      uint8_t major_version,
-                                     uint8_t micro_version,
-                                     uint8_t minor_version)
+                                     uint8_t minor_version,
+                                     uint8_t micro_version)
 {
   memcached_server_fn callbacks[1];
   memcached_version(memc);
 
- struct local_context check= { .major_version= major_version, .micro_version= micro_version, .minor_version= minor_version, .truth= true };
+  struct local_context check= { .major_version= major_version, .minor_version= minor_version, .micro_version= micro_version, .truth= true };
+  memcached_version(memc);
 
   callbacks[0]= check_server_version;
   memcached_server_cursor(memc, callbacks, (void *)&check,  1);