X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Futil%2Fversion.c;h=a4d5b2d431b2c50fd629112af4b48394cda550f7;hb=de994b897a87ccc8493f31c6b105fc37cfdc90a9;hp=000db326cc8b87f2c8fddc8efa6937602e86f3d1;hpb=582ffd185904b349b5840880f85df75a773adcf7;p=awesomized%2Flibmemcached diff --git a/libmemcached/util/version.c b/libmemcached/util/version.c index 000db326..a4d5b2d4 100644 --- a/libmemcached/util/version.c +++ b/libmemcached/util/version.c @@ -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; }; @@ -29,9 +29,10 @@ 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 && - instance->micro_version >= check->micro_version && - instance->minor_version >= check->minor_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 ) { return MEMCACHED_SUCCESS; } @@ -43,13 +44,16 @@ 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); + memcached_return_t rc= memcached_version(memc); + + if (rc != MEMCACHED_SUCCESS) + return false; - 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 }; callbacks[0]= check_server_version; memcached_server_cursor(memc, callbacks, (void *)&check, 1);