fedora:
@rm -f ~/rpmbuild/RPMS/x86_64/libmemcached-$(VERSION)*.rpm
@rm -f ~/rpmbuild/SRPMS/libmemcached-$(VERSION)*.rpm
+ @mkdir -p ~/rpmbuild/SOURCES/
+ @mkdir -p ~/rpmbuild/RPMS/x86_64/
+ @mkdir -p ~/rpmbuild/SRPMS/
@cp libmemcached-$(VERSION).tar.gz ~/rpmbuild/SOURCES/
@rpmbuild -ba support/libmemcached.spec
@cp ~/rpmbuild/RPMS/x86_64/libmemcached-$(VERSION)*.rpm .
@cp ~/rpmbuild/SRPMS/libmemcached-$(VERSION)*.rpm .
generic: support/libmemcached.spec
+ @mkdir -p ~/rpmbuild/SOURCES/
+ @mkdir -p ~/rpmbuild/RPMS/x86_64/
+ @mkdir -p ~/rpmbuild/SRPMS/
@rm -f ~/rpmbuild/RPMS/x86_64/libmemcached-$(VERSION)*.rpm
@rm -f ~/rpmbuild/SRPMS/libmemcached-$(VERSION)*.rpm
@cp libmemcached-$(VERSION).tar.gz ~/rpmbuild/SOURCES/
-.TH "HASHKIT_CLONE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_CLONE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_clone \- libhashkit Documentation
.
-.TH "HASHKIT_CRC32" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_CRC32" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_crc32 \- libhashkit Documentation
.
-.TH "HASHKIT_CREATE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_CREATE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_create \- libhashkit Documentation
.
-.TH "HASHKIT_FNV1_32" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_FNV1_32" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_fnv1_32 \- libhashkit Documentation
.
-.TH "HASHKIT_FNV1_64" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_FNV1_64" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_fnv1_64 \- libhashkit Documentation
.
-.TH "HASHKIT_FNV1A_32" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_FNV1A_32" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_fnv1a_32 \- libhashkit Documentation
.
-.TH "HASHKIT_FNV1A_64" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_FNV1A_64" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_fnv1a_64 \- libhashkit Documentation
.
-.TH "HASHKIT_FREE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_FREE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_free \- libhashkit Documentation
.
-.TH "HASHKIT_FUNCTIONS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_FUNCTIONS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_functions \- libhashkit Documentation
.
-.TH "HASHKIT_HSIEH" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_HSIEH" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_hsieh \- libhashkit Documentation
.
-.TH "HASHKIT_IS_ALLOCATED" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_IS_ALLOCATED" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_is_allocated \- libhashkit Documentation
.
-.TH "HASHKIT_JENKINS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_JENKINS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_jenkins \- libhashkit Documentation
.
-.TH "HASHKIT_MD5" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_MD5" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_md5 \- libhashkit Documentation
.
-.TH "HASHKIT_MURMUR" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_MURMUR" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_murmur \- libhashkit Documentation
.
-.TH "HASHKIT_VALUE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "HASHKIT_VALUE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
hashkit_value \- libhashkit Documentation
.
-.TH "LIBHASHKIT" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "LIBHASHKIT" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
libhashkit \- libhashkit Documentation
.
-.TH "LIBMEMCACHED" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "LIBMEMCACHED" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
libmemcached \- Introducing the C Client Library for memcached
.
-.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "LIBMEMCACHED_CHECK_CONFIGURATION" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
libmemcached_check_configuration \- libmemcached Documentation
.
-.TH "LIBMEMCACHED_CONFIGURATION" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "LIBMEMCACHED_CONFIGURATION" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
libmemcached_configuration \- libmemcached Documentation
.
-.TH "LIBMEMCACHED_EXAMPLES" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "LIBMEMCACHED_EXAMPLES" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
libmemcached_examples \- libmemcached Documentation
.
-.TH "LIBMEMCACHEDUTIL" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "LIBMEMCACHEDUTIL" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
libmemcachedutil \- libmemcached Documentation
.
-.TH "MEMASLAP" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMASLAP" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memaslap \- libmemcached Documentation
.
-.TH "MEMCACHED" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached \- libmemcached Documentation
.
-.TH "MEMCACHED_ADD" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_ADD" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_add \- Storing and Replacing Data
.
-.TH "MEMCACHED_ADD_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_ADD_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_add_by_key \- Storing and Replacing Data
.
-.TH "MEMCACHED_ANALYZE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_ANALYZE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_analyze \- libmemcached Documentation
.
-.TH "MEMCACHED_APPEND" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_APPEND" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_append \- Appending to or Prepending to data on the server
.
-.TH "MEMCACHED_APPEND_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_APPEND_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_append_by_key \- Appending to or Prepending to data on the server
.
-.TH "MEMCACHED_AUTO" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_AUTO" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_auto \- Incrementing and Decrementing Values
.
-.TH "MEMCACHED_BEHAVIOR" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_BEHAVIOR" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_behavior \- libmemcached Documentation
.
-.TH "MEMCACHED_BEHAVIOR_GET" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_BEHAVIOR_GET" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_behavior_get \- libmemcached Documentation
.
-.TH "MEMCACHED_BEHAVIOR_SET" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_BEHAVIOR_SET" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_behavior_set \- libmemcached Documentation
.
-.TH "MEMCACHED_CALLBACK" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_CALLBACK" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_callback \- libmemcached Documentation
.
-.TH "MEMCACHED_CALLBACK_GET" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_CALLBACK_GET" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_callback_get \- libmemcached Documentation
.
-.TH "MEMCACHED_CALLBACK_SET" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_CALLBACK_SET" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_callback_set \- libmemcached Documentation
.
-.TH "MEMCACHED_CAS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_CAS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_cas \- Working with data on the server in an atomic fashion
.
-.TH "MEMCACHED_CAS_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_CAS_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_cas_by_key \- Storing and Replacing Data
.
-.TH "MEMCACHED_CLONE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_CLONE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_clone \- libmemcached Documentation
.
-.TH "MEMCACHED_CREATE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_CREATE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_create \- libmemcached Documentation
.
-.TH "MEMCACHED_DECREMENT" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_DECREMENT" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_decrement \- Incrementing and Decrementing Values
.
-.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_DECREMENT_WITH_INITIAL" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_decrement_with_initial \- Incrementing and Decrementing Values
.
-.TH "MEMCACHED_DELETE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_DELETE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_delete \- libmemcached Documentation
.
-.TH "MEMCACHED_DELETE_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_DELETE_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_delete_by_key \- libmemcached Documentation
.
-.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_DESTROY_SASL_AUTH_DATA" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_destroy_sasl_auth_data \- libmemcached Documentation
.
-.TH "MEMCACHED_DUMP" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_DUMP" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_dump \- libmemcached Documentation
.
-.TH "MEMCACHED_EXIST" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_EXIST" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_exist \- libmemcached Documentation
.
-.TH "MEMCACHED_EXIST_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_EXIST_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_exist_by_key \- libmemcached Documentation
.
-.TH "MEMCACHED_FETCH" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_FETCH" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_fetch \- Retrieving data from the server
.
-.TH "MEMCACHED_FETCH_EXECUTE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_FETCH_EXECUTE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_fetch_execute \- Retrieving data from the server
.
-.TH "MEMCACHED_FETCH_RESULT" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_FETCH_RESULT" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_fetch_result \- Retrieving data from the server
.
-.TH "MEMCACHED_FLUSH" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_FLUSH" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_flush \- libmemcached Documentation
.
-.TH "MEMCACHED_FLUSH_BUFFERS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_FLUSH_BUFFERS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_flush_buffers \- libmemcached Documentation
.
-.TH "MEMCACHED_FREE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_FREE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_free \- libmemcached Documentation
.
-.TH "MEMCACHED_GENERATE_HASH" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_GENERATE_HASH" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_generate_hash \- Generating hash values directly
.
-.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_GENERATE_HASH_VALUE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_generate_hash_value \- Generating hash values directly
.
-.TH "MEMCACHED_GET" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_GET" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_get \- Retrieving data from the server
.
-.TH "MEMCACHED_GET_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_GET_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_get_by_key \- Retrieving data from the server
.
-.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_GET_MEMORY_ALLOCATORS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_get_memory_allocators \- libmemcached Documentation
.
-.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_GET_SASL_CALLBACKS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_get_sasl_callbacks \- libmemcached Documentation
.
-.TH "MEMCACHED_GET_USER_DATA" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_GET_USER_DATA" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_get_user_data \- libmemcached Documentation
.
-.TH "MEMCACHED_INCREMENT" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_INCREMENT" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_increment \- Incrementing and Decrementing Values
.
-.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_INCREMENT_WITH_INITIAL" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_increment_with_initial \- Incrementing and Decrementing Values
.
-.TH "MEMCACHED_LAST_ERROR_MESSAGE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_LAST_ERROR_MESSAGE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_last_error_message \- libmemcached Documentation
.
-.TH "MEMCACHED_LIB_VERSION" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_LIB_VERSION" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_lib_version \- libmemcached Documentation
.
-.TH "MEMCACHED_MEMORY_ALLOCATORS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_MEMORY_ALLOCATORS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_memory_allocators \- libmemcached Documentation
.
-.TH "MEMCACHED_MGET" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_MGET" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_mget \- Retrieving data from the server
.
-.TH "MEMCACHED_MGET_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_MGET_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_mget_by_key \- Retrieving data from the server
.
-.TH "MEMCACHED_MGET_EXECUTE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_MGET_EXECUTE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_mget_execute \- Retrieving data from the server
.
-.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_MGET_EXECUTE_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_mget_execute_by_key \- Retrieving data from the server
.
-.TH "MEMCACHED_POOL" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_POOL" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_pool \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_POOL_BEHAVIOR_GET" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_pool_behavior_get \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_POOL_BEHAVIOR_SET" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_pool_behavior_set \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_CREATE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_POOL_CREATE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_pool_create \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_DESTROY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_POOL_DESTROY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_pool_destroy \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_FETCH" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_POOL_FETCH" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_pool_fetch \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_POP" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_POOL_POP" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_pool_pop \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_PUSH" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_POOL_PUSH" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_pool_push \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_RELEASE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_POOL_RELEASE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_pool_release \- libmemcached Documentation
.
-.TH "MEMCACHED_POOL_ST" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_POOL_ST" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_pool_st \- libmemcached Documentation
.
-.TH "MEMCACHED_PREPEND" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_PREPEND" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_prepend \- Appending to or Prepending to data on the server
.
-.TH "MEMCACHED_PREPEND_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_PREPEND_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_prepend_by_key \- Appending to or Prepending to data on the server
.
-.TH "MEMCACHED_QUIT" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_QUIT" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_quit \- libmemcached Documentation
.
-.TH "MEMCACHED_REPLACE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_REPLACE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_replace \- Storing and Replacing Data
.
-.TH "MEMCACHED_REPLACE_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_REPLACE_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_replace_by_key \- Storing and Replacing Data
.
-.TH "MEMCACHED_RESULT_CAS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_RESULT_CAS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_result_cas \- Working with result sets
.
-.TH "MEMCACHED_RESULT_CREATE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_RESULT_CREATE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_result_create \- Working with result sets
.
-.TH "MEMCACHED_RESULT_FLAGS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_RESULT_FLAGS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_result_flags \- Working with result sets
.
-.TH "MEMCACHED_RESULT_FREE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_RESULT_FREE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_result_free \- Working with result sets
.
-.TH "MEMCACHED_RESULT_KEY_LENGTH" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_RESULT_KEY_LENGTH" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_result_key_length \- Working with result sets
.
-.TH "MEMCACHED_RESULT_KEY_VALUE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_RESULT_KEY_VALUE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_result_key_value \- Working with result sets
.
-.TH "MEMCACHED_RESULT_LENGTH" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_RESULT_LENGTH" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_result_length \- Working with result sets
.
-.TH "MEMCACHED_RESULT_ST" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_RESULT_ST" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_result_st \- Working with result sets
.
-.TH "MEMCACHED_RESULT_VALUE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_RESULT_VALUE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_result_value \- Working with result sets
.
-.TH "MEMCACHED_RETURN_T" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_RETURN_T" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_return_t \- Return type values
.
-.TH "MEMCACHED_SASL" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SASL" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_sasl \- libmemcached Documentation
.
-.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SASL_SET_AUTH_DATA" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_sasl_set_auth_data \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_ADD" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVER_ADD" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_server_add \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_ADD_UNIX_SOCKET" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVER_ADD_UNIX_SOCKET" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_server_add_unix_socket \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_COUNT" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVER_COUNT" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_server_count \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_CURSOR" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVER_CURSOR" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_server_cursor \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_LIST" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_server_list \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_APPEND" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_server_list_append \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_COUNT" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_server_list_count \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_LIST_FREE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVER_LIST_FREE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_server_list_free \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_PUSH" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVER_PUSH" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_server_push \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVER_ST" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVER_ST" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_server_st \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVERS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVERS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_servers \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVERS_PARSE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVERS_PARSE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_servers_parse \- libmemcached Documentation
.
-.TH "MEMCACHED_SERVERS_RESET" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SERVERS_RESET" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_servers_reset \- libmemcached Documentation
.
-.TH "MEMCACHED_SET" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SET" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_set \- Storing and Replacing Data
.
-.TH "MEMCACHED_SET_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SET_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_set_by_key \- Storing and Replacing Data
.
-.TH "MEMCACHED_SET_ENCODING_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SET_ENCODING_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_set_encoding_key \- libmemcached Documentation
.
-.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SET_MEMORY_ALLOCATORS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_set_memory_allocators \- libmemcached Documentation
.
-.TH "MEMCACHED_SET_MEMORY_ALLOCATORS_CONTEXT" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SET_MEMORY_ALLOCATORS_CONTEXT" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_set_memory_allocators_context \- libmemcached Documentation
.
-.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SET_SASL_CALLBACKS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_set_sasl_callbacks \- libmemcached Documentation
.
-.TH "MEMCACHED_SET_USER_DATA" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_SET_USER_DATA" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_set_user_data \- libmemcached Documentation
.
-.TH "MEMCACHED_STAT" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_STAT" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_stat \- libmemcached Documentation
.
-.TH "MEMCACHED_STAT_EXECUTE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_STAT_EXECUTE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_stat_execute \- libmemcached Documentation
.
-.TH "MEMCACHED_STAT_GET_KEYS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_STAT_GET_KEYS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_stat_get_keys \- libmemcached Documentation
.
-.TH "MEMCACHED_STAT_GET_VALUE" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_STAT_GET_VALUE" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_stat_get_value \- libmemcached Documentation
.
-.TH "MEMCACHED_STAT_SERVERNAME" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_STAT_SERVERNAME" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_stat_servername \- libmemcached Documentation
.
-.TH "MEMCACHED_STATS" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_STATS" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_stats \- libmemcached Documentation
.
-.TH "MEMCACHED_STRERROR" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_STRERROR" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_strerror \- libmemcached Documentation
.
-.TH "MEMCACHED_TOUCH" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_TOUCH" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_touch \- libmemcached Documentation
.
-.TH "MEMCACHED_TOUCH_BY_KEY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_TOUCH_BY_KEY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_touch_by_key \- libmemcached Documentation
.
-.TH "MEMCACHED_USER_DATA" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_USER_DATA" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_user_data \- libmemcached Documentation
.
-.TH "MEMCACHED_VERBOSITY" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_VERBOSITY" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_verbosity \- libmemcached Documentation
.
-.TH "MEMCACHED_VERSION" "3" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCACHED_VERSION" "3" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcached_version \- libmemcached Documentation
.
-.TH "MEMCAPABLE" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCAPABLE" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcapable \- libmemcached Documentation
.
-.TH "MEMCAT" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCAT" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcat \- libmemcached Documentation
.
-.TH "MEMCP" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMCP" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memcp \- libmemcached Documentation
.
-.TH "MEMDUMP" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMDUMP" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memdump \- libmemcached Documentation
.
-.TH "MEMERROR" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMERROR" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memerror \- libmemcached Documentation
.
-.TH "MEMEXIST" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMEXIST" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memexist \- libmemcached Documentation
.
-.TH "MEMFLUSH" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMFLUSH" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memflush \- libmemcached Documentation
.
-.TH "MEMPARSE" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMPARSE" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memparse \- libmemcached Documentation
.
-.TH "MEMPING" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMPING" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memping \- libmemcached Documentation
.
-.TH "MEMRM" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMRM" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memrm \- libmemcached Documentation
.
-.TH "MEMSLAP" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMSLAP" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memslap \- libmemcached Documentation
.
-.TH "MEMSTAT" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMSTAT" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memstat \- libmemcached Documentation
.
-.TH "MEMTOUCH" "1" "May 22, 2012" "1.0.8" "libmemcached"
+.TH "MEMTOUCH" "1" "May 31, 2012" "1.0.8" "libmemcached"
.SH NAME
memtouch \- libmemcached Documentation
.
#endif
LIBMEMCACHED_API
- const char *memcached_last_error_message(memcached_st *);
+ const char *memcached_last_error_message(const memcached_st *);
LIBMEMCACHED_API
void memcached_error_print(const memcached_st *);
LIBMEMCACHED_API
- memcached_return_t memcached_last_error(memcached_st *);
+ memcached_return_t memcached_last_error(const memcached_st *);
LIBMEMCACHED_API
- int memcached_last_error_errno(memcached_st *);
+ int memcached_last_error_errno(const memcached_st *);
LIBMEMCACHED_API
- const char *memcached_server_error(memcached_server_instance_st ptr);
+ const char *memcached_server_error(const memcached_server_instance_st ptr);
LIBMEMCACHED_API
- memcached_return_t memcached_server_error_return(memcached_server_instance_st ptr);
+ memcached_return_t memcached_server_error_return(const memcached_server_instance_st ptr);
#ifdef __cplusplus
} // extern "C"
*
* Libmemcached library
*
- * Copyright (C) 2011 Data Differential, http://datadifferential.com/
+ * Copyright (C) 2011-2012 Data Differential, http://datadifferential.com/
* Copyright (C) 2010 Brian Aker All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
#endif
LIBMEMCACHED_API
-const char *memcached_strerror(memcached_st *ptr, memcached_return_t rc);
+const char *memcached_strerror(const memcached_st *ptr, memcached_return_t rc);
#ifdef __cplusplus
}
uint32_t read;
uint32_t write;
uint32_t timeouts;
+ size_t _bytes_read;
} io_wait_count;
uint8_t major_version; // Default definition of UINT8_MAX means that it has not been set.
uint8_t micro_version; // ditto, and note that this is the third, not second version bit
static void _set(memcached_server_st& server, memcached_st& memc)
{
- if (server.error_messages && server.error_messages->query_id != server.root->query_id)
+ if (server.error_messages and server.error_messages->query_id != server.root->query_id)
{
memcached_error_free(server);
}
return memcached_set_error(memc, MEMCACHED_PARSE_ERROR, at, buffer, length);
}
+static inline size_t append_host_to_string(memcached_server_st& self, char* buffer, const size_t buffer_length)
+{
+ size_t size= 0;
+ switch (self.type)
+ {
+ case MEMCACHED_CONNECTION_TCP:
+ case MEMCACHED_CONNECTION_UDP:
+ size+= snprintf(buffer, buffer_length, " host: %s:%d",
+ self.hostname, int(self.port));
+ break;
+
+ case MEMCACHED_CONNECTION_UNIX_SOCKET:
+ size+= snprintf(buffer, buffer_length, " socket: %s",
+ self.hostname);
+ break;
+ }
+
+ return size;
+}
+
memcached_return_t memcached_set_error(memcached_server_st& self, memcached_return_t rc, const char *at, memcached_string_t& str)
{
assert_msg(rc != MEMCACHED_ERRNO, "Programmer error, MEMCACHED_ERRNO was set to be returned to client");
}
char hostname_port_message[MAX_ERROR_LENGTH];
- int size;
+ char* hostname_port_message_ptr= hostname_port_message;
+ int size= 0;
if (str.size)
{
- size= snprintf(hostname_port_message, sizeof(hostname_port_message), "%.*s, host: %s:%d",
- memcached_string_printf(str),
- self.hostname, int(self.port));
- }
- else
- {
- size= snprintf(hostname_port_message, sizeof(hostname_port_message), "host: %s:%d",
- self.hostname, int(self.port));
+ size= snprintf(hostname_port_message_ptr, sizeof(hostname_port_message), "%.*s, ",
+ memcached_string_printf(str));
+ hostname_port_message_ptr+= size;
}
+ size+= append_host_to_string(self, hostname_port_message_ptr, sizeof(hostname_port_message) -size);
+
memcached_string_t error_host= { hostname_port_message, size };
assert(self.root);
}
char hostname_port[NI_MAXHOST +NI_MAXSERV + sizeof("host : ")];
- int size= snprintf(hostname_port, sizeof(hostname_port), "host: %s:%d", self.hostname, int(self.port));
+ size_t size= append_host_to_string(self, hostname_port, sizeof(hostname_port));
memcached_string_t error_host= { hostname_port, size};
}
char hostname_port_message[MAX_ERROR_LENGTH];
- int size;
+ char* hostname_port_message_ptr= hostname_port_message;
+ size_t size= 0;
if (str.size)
{
- size= snprintf(hostname_port_message, sizeof(hostname_port_message), "%.*s, host: %s:%d",
- memcached_string_printf(str),
- self.hostname, int(self.port));
- }
- else
- {
- size= snprintf(hostname_port_message, sizeof(hostname_port_message), "host: %s:%d",
- self.hostname, int(self.port));
+ size= snprintf(hostname_port_message_ptr, sizeof(hostname_port_message), "%.*s, ", memcached_string_printf(str));
}
+ size+= append_host_to_string(self, hostname_port_message_ptr, sizeof(hostname_port_message) -size);
memcached_string_t error_host= { hostname_port_message, size };
}
char hostname_port_message[MAX_ERROR_LENGTH];
- int size = snprintf(hostname_port_message, sizeof(hostname_port_message), "host: %s:%d",
- self.hostname, int(self.port));
+ size_t size= append_host_to_string(self, hostname_port_message, sizeof(hostname_port_message));
memcached_string_t error_host= { hostname_port_message, size };
self.error_messages= NULL;
}
-const char *memcached_last_error_message(memcached_st *memc)
+const char *memcached_last_error_message(const memcached_st *memc)
{
if (memc == NULL)
{
return memcached_has_current_error(*(server.root));
}
-memcached_return_t memcached_last_error(memcached_st *memc)
+memcached_return_t memcached_last_error(const memcached_st *memc)
{
if (memc == NULL)
{
return memc->error_messages->rc;
}
-int memcached_last_error_errno(memcached_st *memc)
+int memcached_last_error_errno(const memcached_st *memc)
{
if (memc == NULL)
{
return memc->error_messages->local_errno;
}
-const char *memcached_server_error(memcached_server_instance_st server)
+const char *memcached_server_error(const memcached_server_instance_st server)
{
if (server == NULL)
{
for blocking I/O we do not return 0 and for non-blocking case
it will return EGAIN if data is not immediatly available.
*/
- WATCHPOINT_STRING("We had a zero length recv()");
memcached_quit_server(ptr, true);
nread= -1;
return memcached_set_error(*ptr, MEMCACHED_CONNECTION_FAILURE, MEMCACHED_AT,
memcached_literal_param("::rec() returned zero, server has disconnected"));
}
+ ptr->io_wait_count._bytes_read+= data_read;
} while (data_read <= 0);
- ptr->io_bytes_sent = 0;
+ ptr->io_bytes_sent= 0;
ptr->read_data_length= (size_t) data_read;
ptr->read_buffer_length= (size_t) data_read;
ptr->read_ptr= ptr->read_buffer;
self->io_wait_count.read= 0;
self->io_wait_count.write= 0;
self->io_wait_count.timeouts= 0;
+ self->io_wait_count._bytes_read= 0;
self->major_version= UINT8_MAX;
self->micro_version= UINT8_MAX;
self->minor_version= UINT8_MAX;
{
WATCHPOINT_ASSERT(self);
if (self == NULL)
+ {
return 0;
+ }
return self->port;
}
{
WATCHPOINT_ASSERT(self);
if (self == NULL)
+ {
return 0;
+ }
return self->cursor_active;
}
#include <libmemcached/common.h>
-const char *memcached_strerror(memcached_st *, memcached_return_t rc)
+const char *memcached_strerror(const memcached_st *, memcached_return_t rc)
{
switch (rc)
{
output << memcached_strerror(NULL, arg);
return output;
}
+
+static inline std::ostream& operator<<(std::ostream& output, const memcached_st &arg)
+{
+ output << " query_id: " << memcached_query_id(&arg);
+ output << " error: " << memcached_last_error_message(&arg);
+ return output;
+}
*/
#include <config.h>
-#include <libtest/common.h>
namespace libtest {
-bool has_gearmand_binary()
-{
-#if defined(HAVE_GEARMAND_BINARY) && HAVE_GEARMAND_BINARY
- std::stringstream arg_buffer;
-
- if (getenv("PWD"))
- {
- arg_buffer << getenv("PWD");
- arg_buffer << "/";
- }
- arg_buffer << GEARMAND_BINARY;
-
- if (access(arg_buffer.str().c_str() ,R_OK|X_OK) == 0)
- {
- return true;
- }
-#endif
-
- return false;
-}
-
-bool has_drizzled_binary()
-{
-#if defined(HAVE_DRIZZLED_BINARY) && HAVE_DRIZZLED_BINARY
- if (access(DRIZZLED_BINARY, R_OK|X_OK) == 0)
- {
- return true;
- }
-#endif
-
- return false;
-}
-
-bool has_memcached_binary()
-{
-#if defined(HAVE_MEMCACHED_BINARY) && HAVE_MEMCACHED_BINARY
- if (access(MEMCACHED_BINARY, R_OK|X_OK) == 0)
- {
- return true;
- }
-#endif
-
- return false;
-}
-
-bool has_memcached_sasl_binary()
-{
-#if defined(HAVE_MEMCACHED_SASL_BINARY) && HAVE_MEMCACHED_SASL_BINARY
- if (access(MEMCACHED_SASL_BINARY, R_OK|X_OK) == 0)
- {
- return true;
- }
-#endif
-
- return false;
-}
-
}
namespace libtest {
-LIBTEST_API
-bool has_memcached_binary();
-
-LIBTEST_API
-bool has_memcached_sasl_binary();
-
-LIBTEST_API
-bool has_gearmand_binary();
-
-LIBTEST_API
-bool has_drizzled_binary();
-
} // namespace libtest
-
catch (libtest::fatal &e)
{
Error << "Fatal exception was thrown: " << e.what();
+ stream::cerr(__FILE__, __LINE__, __func__) << e.what();
_failed++;
throw;
}
strncpy(_mesg, last_error, sizeof(_mesg));
- snprintf(_error_message, sizeof(_error_message), "%s:%d FATAL:%s (%s)", _file, int(_line), last_error, _func);
+ snprintf(_error_message, sizeof(_error_message), "%s:%d FATAL:%s (%s)", _file, _line, last_error, _func);
}
static bool _disabled= false;
_counter++;
}
-disconnected::disconnected(const char *file, int line, const char *func, const char *instance, const in_port_t port, const char *format, ...) :
+disconnected::disconnected(const char *file_arg, int line_arg, const char *func_arg,
+ const char *instance, const in_port_t port,
+ const char *format, ...) :
+ std::runtime_error(func_arg),
_port(port),
- std::runtime_error(func)
+ _line(line_arg),
+ _file(file_arg),
+ _func(func_arg)
{
strncpy(_instance, instance, sizeof(_instance));
va_list args;
(void)vsnprintf(last_error, sizeof(last_error), format, args);
va_end(args);
- snprintf(_error_message, sizeof(_error_message), "%s:%d FATAL:%s (%s)", file, int(line), last_error, func);
+ snprintf(_error_message, sizeof(_error_message), "%s:%d FATAL:%s (%s)", _file, _line, last_error, _func);
}
} // namespace libtest
static uint32_t disabled_counter();
static void increment_disabled_counter();
+ int line()
+ {
+ return _line;
+ }
+
+ const char* file()
+ {
+ return _file;
+ }
+
+ const char* func()
+ {
+ return _func;
+ }
+
private:
char _error_message[BUFSIZ];
in_port_t _port;
char _instance[1024];
+ int _line;
+ const char* _file;
+ const char* _func;
};
*/
#include <config.h>
-#include <libtest/has.hpp>
+#include <libtest/common.h>
#include <cstdlib>
+#include <unistd.h>
-bool has_memcached_support(void)
+namespace libtest {
+
+bool has_libmemcached(void)
{
- if (HAVE_LIBMEMCACHED and HAVE_MEMCACHED_BINARY)
+ if (HAVE_LIBMEMCACHED)
{
return true;
}
return false;
}
-bool has_drizzle_support(void)
+bool has_libdrizzle(void)
{
- if (HAVE_LIBDRIZZLE and HAVE_DRIZZLED_BINARY)
+ if (HAVE_LIBDRIZZLE)
{
return true;
}
{
if (getenv("POSTGES_IS_RUNNING_AND_SETUP"))
{
-
if (HAVE_LIBPQ)
{
return true;
return false;
}
+
+
+bool has_gearmand()
+{
+ if (HAVE_GEARMAND_BINARY)
+ {
+ std::stringstream arg_buffer;
+
+ if (getenv("PWD") and strcmp(MEMCACHED_BINARY, "gearmand/gearmand") == 0)
+ {
+ arg_buffer << getenv("PWD");
+ arg_buffer << "/";
+ }
+ arg_buffer << GEARMAND_BINARY;
+
+ if (access(arg_buffer.str().c_str(), X_OK) == 0)
+ {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+bool has_drizzled()
+{
+ if (HAVE_DRIZZLED_BINARY)
+ {
+ if (access(DRIZZLED_BINARY, X_OK) == 0)
+ {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+bool has_memcached()
+{
+ if (HAVE_MEMCACHED_BINARY)
+ {
+ std::stringstream arg_buffer;
+
+ if (getenv("PWD") and strcmp(MEMCACHED_BINARY, "memcached/memcached") == 0)
+ {
+ arg_buffer << getenv("PWD");
+ arg_buffer << "/";
+ }
+ arg_buffer << MEMCACHED_BINARY;
+
+ if (access(arg_buffer.str().c_str(), X_OK) == 0)
+ {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+bool has_memcached_sasl()
+{
+ if (HAVE_MEMCACHED_SASL_BINARY)
+ {
+ if (access(MEMCACHED_SASL_BINARY, X_OK) == 0)
+ {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+} // namespace libtest
#pragma once
-bool has_memcached_support(void);
+namespace libtest {
-bool has_drizzle_support(void);
+LIBTEST_API
+bool has_libmemcached();
-bool has_postgres_support(void);
+LIBTEST_API
+bool has_libdrizzle();
+
+LIBTEST_API
+bool has_postgres_support();
+
+LIBTEST_API
+bool has_memcached();
+
+LIBTEST_API
+bool has_memcached_sasl();
+
+LIBTEST_API
+bool has_gearmand();
+
+LIBTEST_API
+bool has_drizzled();
+
+} // namespace libtest
break;
case TEST_SKIPPED:
- Out << "SKIP " << argv[0];
return EXIT_SKIP;
case TEST_FAILURE:
#define test_compare_got(__expected, __actual, __hint) \
do \
{ \
- if (not libtest::_compare_hint(__FILE__, __LINE__, __func__, (__expected), (__actual), (__hint))) \
+ if (libtest::_compare_hint(__FILE__, __LINE__, __func__, (__expected), (__actual), (__hint)) == false) \
{ \
libtest::create_core(); \
return TEST_FAILURE; \
test_true(servers and servers->validate());
#if defined(HAVE_GEARMAND_BINARY) && HAVE_GEARMAND_BINARY
- test_true(has_drizzled_binary());
+ test_true(has_drizzled());
#endif
- test_skip(true, has_drizzled_binary());
+ test_skip(true, has_drizzled());
test_true(server_startup(*servers, "drizzled", get_free_port(), 0, NULL));
test_true(servers and servers->validate());
#if defined(HAVE_GEARMAND_BINARY) && HAVE_GEARMAND_BINARY
- test_true(has_gearmand_binary());
+ test_true(has_gearmand());
#endif
- test_skip(true, has_gearmand_binary());
+ test_skip(true, has_gearmand());
test_true(server_startup(*servers, "gearmand", get_free_port(), 0, NULL));
if (MEMCACHED_BINARY and HAVE_LIBMEMCACHED)
{
- test_true(has_memcached_binary());
+ test_true(has_memcached());
test_true(server_startup(*servers, "memcached", get_free_port(), 0, NULL));
return TEST_SUCCESS;
{
if (HAVE_LIBMEMCACHED)
{
- test_true(has_memcached_binary());
+ test_true(has_memcached());
test_true(servers->start_socket_server("memcached", get_free_port(), 0, NULL));
return TEST_SUCCESS;
{
if (HAVE_LIBMEMCACHED)
{
- test_true(has_memcached_sasl_binary());
+ test_true(has_memcached_sasl());
test_true(server_startup(*servers, "memcached-sasl", get_free_port(), 0, NULL));
return TEST_SUCCESS;
static test_return_t check_for_gearman(void *)
{
test_skip(true, HAVE_LIBGEARMAN);
- test_skip(true, has_gearmand_binary());
+ test_skip(true, has_gearmand());
return TEST_SUCCESS;
}
static test_return_t check_for_drizzle(void *)
{
test_skip(true, HAVE_LIBDRIZZLE);
- test_skip(true, has_drizzled_binary());
+ test_skip(true, has_drizzled());
return TEST_SUCCESS;
}
static test_return_t check_for_libmemcached(void *)
{
test_skip(true, HAVE_LIBMEMCACHED);
- test_skip(true, has_memcached_binary());
+ test_skip(true, has_memcached());
return TEST_SUCCESS;
}
{0, 0, 0, 0}
};
-static void *world_create(server_startup_st& servers, test_return_t& )
+static void *world_create(server_startup_st& servers, test_return_t& error)
{
+ if (libtest::has_memcached() == false)
+ {
+ error= TEST_SKIPPED;
+ return NULL;
+ }
+
return &servers;
}
#pragma once
-#include <tests/libmemcached-1.0/memcached_get.h>
+#include "tests/libmemcached-1.0/memcached_get.h"
/* Clean the server before beginning testing */
{"memcached_set()", false, (test_callback_fn*)set_test },
{"memcached_set() 2", false, (test_callback_fn*)set_test2 },
{"memcached_set() 3", false, (test_callback_fn*)set_test3 },
+ {"memcached_add(SUCCESS)", true, (test_callback_fn*)memcached_add_SUCCESS_TEST },
{"add", true, (test_callback_fn*)add_test },
{"memcached_fetch_result(MEMCACHED_NOTFOUND)", true, (test_callback_fn*)memcached_fetch_result_NOT_FOUND },
{"replace", true, (test_callback_fn*)replace_test },
};
test_st libmemcachedutil_tests[] ={
- {"libmemcached_util_ping()", true, (test_callback_fn*)ping_test },
+ {"libmemcached_util_ping()", true, (test_callback_fn*)libmemcached_util_ping_TEST },
{"libmemcached_util_getpid()", true, (test_callback_fn*)getpid_test },
{"libmemcached_util_getpid(MEMCACHED_CONNECTION_FAILURE)", true, (test_callback_fn*)getpid_connection_failure_test },
{0, 0, 0}
return TEST_SUCCESS;
}
+/*
+ Set the value, then quit to make sure it is flushed.
+ Come back in and test that add fails.
+*/
+test_return_t memcached_add_SUCCESS_TEST(memcached_st *memc)
+{
+ memcached_return_t rc;
+ test_null(memcached_get(memc, test_literal_param(__func__), NULL, NULL, &rc));
+ test_compare(MEMCACHED_NOTFOUND, rc);
+
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_add(memc,
+ test_literal_param(__func__),
+ test_literal_param("try something else"),
+ time_t(0), uint32_t(0)));
+
+ return TEST_SUCCESS;
+}
+
/*
Set the value, then quit to make sure it is flushed.
Come back in and test that add fails.
*/
test_return_t add_test(memcached_st *memc)
{
- test_compare_hint(return_value_based_on_buffering(memc),
- memcached_set(memc,
- test_literal_param(__func__),
- test_literal_param("when we sanitize"),
- time_t(0), uint32_t(0)),
- memcached_last_error_message(memc));
+ test_compare(return_value_based_on_buffering(memc),
+ memcached_set(memc,
+ test_literal_param(__func__),
+ test_literal_param("when we sanitize"),
+ time_t(0), uint32_t(0)));
memcached_quit(memc);
- test_compare_hint(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL) ? MEMCACHED_DATA_EXISTS : MEMCACHED_NOTSTORED,
- memcached_add(memc,
- test_literal_param(__func__),
- test_literal_param("try something else"),
- time_t(0), uint32_t(0)),
- memcached_last_error_message(memc));
+ size_t value_length;
+ uint32_t flags;
+ memcached_return_t rc;
+ char *check_value= memcached_get(memc,
+ test_literal_param(__func__),
+ &value_length, &flags, &rc);
+ test_memcmp(check_value, "when we sanitize", strlen("when we sanitize"));
+ test_compare(test_literal_param_size("when we sanitize"), value_length);
+ test_compare(MEMCACHED_SUCCESS, rc);
+ free(check_value);
+
+ test_compare(memcached_behavior_get(memc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL) ? MEMCACHED_DATA_EXISTS : MEMCACHED_NOTSTORED,
+ memcached_add(memc,
+ test_literal_param(__func__),
+ test_literal_param("try something else"),
+ time_t(0), uint32_t(0)));
return TEST_SUCCESS;
}
#endif
for (uint32_t x= 0; x < max; x++)
+ {
add_test(memc);
+ }
return TEST_SUCCESS;
}
test_return_t replace_test(memcached_st *memc)
{
- test_compare_hint(return_value_based_on_buffering(memc),
- memcached_set(memc,
- test_literal_param(__func__),
- test_literal_param("when we sanitize"),
- time_t(0), uint32_t(0)),
- memcached_last_error_message(memc));
+ test_compare(return_value_based_on_buffering(memc),
+ memcached_set(memc,
+ test_literal_param(__func__),
+ test_literal_param("when we sanitize"),
+ time_t(0), uint32_t(0)));
- test_compare_hint(MEMCACHED_SUCCESS,
- memcached_replace(memc,
- test_literal_param(__func__),
- test_literal_param("first we insert some data"),
- time_t(0), uint32_t(0)),
- memcached_last_error_message(memc));
+ test_compare(MEMCACHED_SUCCESS,
+ memcached_replace(memc,
+ test_literal_param(__func__),
+ test_literal_param("first we insert some data"),
+ time_t(0), uint32_t(0)));
return TEST_SUCCESS;
}
test_return_t delete_test(memcached_st *memc)
{
- test_compare_hint(return_value_based_on_buffering(memc),
- memcached_set(memc,
- test_literal_param(__func__),
- test_literal_param("when we sanitize"),
- time_t(0), uint32_t(0)),
- memcached_last_error_message(memc));
+ test_compare(return_value_based_on_buffering(memc),
+ memcached_set(memc,
+ test_literal_param(__func__),
+ test_literal_param("when we sanitize"),
+ time_t(0), uint32_t(0)));
- test_compare_hint(return_value_based_on_buffering(memc),
- memcached_delete(memc,
- test_literal_param(__func__),
- time_t(0)),
- memcached_last_error_message(memc));
+ test_compare(return_value_based_on_buffering(memc),
+ memcached_delete(memc,
+ test_literal_param(__func__),
+ time_t(0)));
return TEST_SUCCESS;
}
{
for (uint32_t x= 0; x < 10; x++)
{
- test_compare_hint(return_value_based_on_buffering(memc),
- memcached_set(memc,
- test_literal_param("foo"),
- test_literal_param("train in the brain"),
- time_t(0), uint32_t(0)),
- memcached_last_error_message(memc));
+ test_compare(return_value_based_on_buffering(memc),
+ memcached_set(memc,
+ test_literal_param("foo"),
+ test_literal_param("train in the brain"),
+ time_t(0), uint32_t(0)));
}
return TEST_SUCCESS;
snprintf(key, sizeof(key), "foo%u", x);
uint64_t query_id= memcached_query_id(memc);
- test_compare_hint(return_value_based_on_buffering(memc),
- memcached_set(memc, key, strlen(key),
- &value[0], value.size(),
- time_t(0), uint32_t(0)),
- memcached_last_error_message(memc));
+ test_compare(return_value_based_on_buffering(memc),
+ memcached_set(memc, key, strlen(key),
+ &value[0], value.size(),
+ time_t(0), uint32_t(0)));
test_compare(query_id +1, memcached_query_id(memc));
}
test_literal_param(__func__),
test_literal_param("3"),
time_t(0), uint32_t(0)));
+
// Make sure we flush the value we just set
test_compare(MEMCACHED_SUCCESS, memcached_flush_buffers(memc));
{
const char *value= "sanford and sun";
- test_compare_hint(return_value_based_on_buffering(memc),
- memcached_set(memc,
- test_literal_param(__func__),
- value, strlen(value),
- (time_t)10, (uint32_t)3),
- memcached_last_error_message(memc));
+ test_compare(return_value_based_on_buffering(memc),
+ memcached_set(memc,
+ test_literal_param(__func__),
+ value, strlen(value),
+ time_t(10), uint32_t(3)));
memcached_quit(memc);
- test_compare_hint(return_value_based_on_buffering(memc),
- memcached_set(memc,
- test_literal_param(__func__),
- value, strlen(value),
- (time_t)50, (uint32_t)9),
- memcached_last_error_message(memc));
+ test_compare(return_value_based_on_buffering(memc),
+ memcached_set(memc,
+ test_literal_param(__func__),
+ value, strlen(value),
+ time_t(50), uint32_t(9)));
return TEST_SUCCESS;
}
size_t key_length[]= {5, 3, 4};
memcached_result_st results_obj;
- memcached_result_st *results;
-
- results= memcached_result_create(memc, &results_obj);
+ memcached_result_st *results= memcached_result_create(memc, &results_obj);
test_true(results);
test_true(&results_obj == results);
const char *keys= "036790384900";
size_t key_length= strlen(keys);
- test_compare_hint(MEMCACHED_SUCCESS, memcached_set(memc, keys, key_length,
- insert_data, VALUE_SIZE_BUG5,
- time_t(0), 245U),
- memcached_last_error_message(memc));
+ test_compare(MEMCACHED_SUCCESS, memcached_set(memc, keys, key_length,
+ insert_data, VALUE_SIZE_BUG5,
+ time_t(0), 245U));
memcached_return_t rc;
size_t value_length;
char *value2= memcached_get(memc, key, strlen(key),
&length, &flags, &rc);
- test_true(length==strlen(value));
+ test_compare(length, strlen(value));
test_compare(MEMCACHED_SUCCESS, rc);
test_memcmp(value, value2, length);
free(value2);
return TEST_SUCCESS;
}
-test_return_t ping_test(memcached_st *memc)
+static memcached_return_t ping_each_server(const memcached_st*,
+ const memcached_server_st *instance,
+ void*)
{
+ // Test both the version that returns a code, and the one that does not.
memcached_return_t rc;
- memcached_server_instance_st instance=
- memcached_server_instance_by_position(memc, 0);
+ if (libmemcached_util_ping(memcached_server_name(instance),
+ memcached_server_port(instance), &rc) == false)
+ {
+ throw libtest::fatal(LIBYATL_DEFAULT_PARAM, "%s:%d %s", memcached_server_name(instance),
+ memcached_server_port(instance), memcached_strerror(NULL, rc));
+ }
- // Test both the version that returns a code, and the one that does not.
- test_true(libmemcached_util_ping(memcached_server_name(instance),
- memcached_server_port(instance), NULL));
+ if (libmemcached_util_ping(memcached_server_name(instance),
+ memcached_server_port(instance), NULL) == false)
+ {
+ throw libtest::fatal(LIBYATL_DEFAULT_PARAM, "%s:%d", memcached_server_name(instance), memcached_server_port(instance));
+ }
- test_true(libmemcached_util_ping(memcached_server_name(instance),
- memcached_server_port(instance), &rc));
+ return MEMCACHED_SUCCESS;
+}
- test_compare(MEMCACHED_SUCCESS, rc);
+test_return_t libmemcached_util_ping_TEST(memcached_st *memc)
+{
+ memcached_server_fn callbacks[1]= { ping_each_server };
+ memcached_server_cursor(memc, callbacks, NULL, 1);
return TEST_SUCCESS;
}
return TEST_SUCCESS;
}
-static void memcached_die(memcached_st* mc, memcached_return error, const char* what, uint32_t it)
+static void die_message(memcached_st* mc, memcached_return error, const char* what, uint32_t it)
{
fprintf(stderr, "Iteration #%u: ", it);
rc= memcached_behavior_set(mc, MEMCACHED_BEHAVIOR_BINARY_PROTOCOL, 1);
if (rc != MEMCACHED_SUCCESS)
{
- memcached_die(mc, rc, "memcached_behavior_set", x);
+ die_message(mc, rc, "memcached_behavior_set", x);
}
rc= memcached_behavior_set(mc, MEMCACHED_BEHAVIOR_CACHE_LOOKUPS, 1);
if (rc != MEMCACHED_SUCCESS)
{
- memcached_die(mc, rc, "memcached_behavior_set", x);
+ die_message(mc, rc, "memcached_behavior_set", x);
}
rc= memcached_server_add(mc, remote_server, 0);
if (rc != MEMCACHED_SUCCESS)
{
- memcached_die(mc, rc, "memcached_server_add", x);
+ die_message(mc, rc, "memcached_server_add", x);
}
const char *set_key= "akey";
&get_value_flags, &rc);
if (rc != MEMCACHED_SUCCESS)
{
- memcached_die(mc, rc, "memcached_get", x);
+ die_message(mc, rc, "memcached_get", x);
}
else
{
);
if (rc != MEMCACHED_SUCCESS)
{
- memcached_die(mc, rc, "memcached_set", x);
+ die_message(mc, rc, "memcached_set", x);
}
}
test_return_t _user_supplied_bug21(memcached_st* memc, size_t key_count);
test_return_t add_host_test(memcached_st *memc);
test_return_t add_host_test1(memcached_st *memc);
+test_return_t memcached_add_SUCCESS_TEST(memcached_st*);
test_return_t add_test(memcached_st *memc);
test_return_t add_wrapper(memcached_st *memc);
test_return_t allocation_test(memcached_st *not_used);
test_return_t noreply_test(memcached_st *memc);
test_return_t one_at_a_time_run (memcached_st *);
test_return_t output_ketama_weighted_keys(memcached_st *);
-test_return_t ping_test(memcached_st *memc);
+test_return_t libmemcached_util_ping_TEST(memcached_st*);
test_return_t prepend_test(memcached_st *memc);
test_return_t quit_test(memcached_st *memc);
test_return_t read_through(memcached_st *memc);
uint32_t flags;
size_t rlen;
- test_compare_hint(return_value_based_on_buffering(memc),
+ test_compare(return_value_based_on_buffering(memc),
memcached_set(memc, keys[0], lengths[0],
keys[0], lengths[0],
- time_t(0), uint32_t(0)),
- memcached_last_error_message(memc));
+ time_t(0), uint32_t(0)));
test_compare(MEMCACHED_SUCCESS, memcached_mget(memc, keys, lengths, test_array_length(keys)));
memcached_result_st results_obj;
static void *world_create(libtest::server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
static void *world_create(libtest::server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
static void *world_create(server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
static void *world_create(server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
static void *world_create(server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
static void *world_create(server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
{0, 0, 0, 0}
};
-static void *world_create(server_startup_st&, test_return_t&)
+static void *world_create(server_startup_st&, test_return_t& error)
{
+ if (libtest::has_memcached() == false)
+ {
+ error= TEST_SKIPPED;
+ return NULL;
+ }
+
return NULL;
}
static void *world_create(server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
static void *world_create(server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
static void *world_create(server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
static void *world_create(server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
static void *world_create(server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
static void *world_create(server_startup_st& servers, test_return_t& error)
{
- if (HAVE_MEMCACHED_BINARY == 0)
+ if (libtest::has_memcached() == false)
{
error= TEST_SKIPPED;
return NULL;
world->collections(collection);
world->create(world_create);
}
-