memcached_server_execute_fn callback,
void *context)
{
+ if (callback == NULL)
+ {
+ return MEMCACHED_INVALID_ARGUMENTS;
+ }
+
+ bool some_errors= false;;
for (uint32_t x= 0; x < memcached_server_count(ptr); x++)
{
memcached_server_write_instance_st instance= memcached_server_instance_fetch(ptr, x);
- unsigned int iferror= (*callback)(ptr, instance, context);
-
- if (iferror)
+ memcached_return_t rc= (*callback)(ptr, instance, context);
+ if (rc == MEMCACHED_INVALID_ARGUMENTS)
{
- continue;
+ return rc;
+ }
+ else if (memcached_fatal(rc))
+ {
+ some_errors= true;
}
}
+ (void)some_errors;
return MEMCACHED_SUCCESS;
}
return NULL;
}
- if (memcached_failed(rc= (memcached_key_test(*ptr, (const char **)&key, &key_length, 1))))
+ if (memcached_failed((memcached_key_test(*ptr, (const char **)&key, &key_length, 1))))
{
- *error= rc;
+ *error= memcached_last_error(ptr);
return NULL;
}