#include <libmemcachedutil/common.h>
+#include <cassert>
struct local_context
{
};
static memcached_return_t check_server_version(const memcached_st *,
- const memcached_server_st *instance,
+ const memcached_instance_st * instance,
void *context)
{
/* Do Nothing */
struct local_context *check= (struct local_context *)context;
- 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;
+ if (memcached_server_major_version(instance) != UINT8_MAX) {
+ uint32_t sv, cv;
+
+ sv = memcached_server_micro_version(instance)
+ |memcached_server_minor_version(instance) << 8
+ |memcached_server_major_version(instance) << 16
+ ;
+ cv = check->micro_version
+ |check->minor_version << 8
+ |check->major_version << 16;
+
+ if (sv >= cv) {
+ return MEMCACHED_SUCCESS;
+ }
}
check->truth= false;
uint8_t minor_version,
uint8_t micro_version)
{
- if (memcached_version(memc) != MEMCACHED_SUCCESS)
+ if (memcached_failed(memcached_version(memc)))
+ {
return false;
+ }
struct local_context check= { major_version, minor_version, micro_version, true };