X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Futil%2Fversion.c;h=a4d5b2d431b2c50fd629112af4b48394cda550f7;hb=de994b897a87ccc8493f31c6b105fc37cfdc90a9;hp=e5b5ae1df8f17ec965826b259e6524d4ce49e2f5;hpb=49a02c953ab03f71b819e7a5f68ef7a0e5857544;p=awesomized%2Flibmemcached diff --git a/libmemcached/util/version.c b/libmemcached/util/version.c index e5b5ae1d..a4d5b2d4 100644 --- a/libmemcached/util/version.c +++ b/libmemcached/util/version.c @@ -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);