X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fmemcached_delete.c;h=84b6160c2fe00a4058aed9013df56fc981d2f741;hb=f351ea037148e992ef5a6ea66d355dcab47e570a;hp=5ec2fca31891cf3803d5856ebd7694de71f6ef29;hpb=2fe4e1635c70f4b2815aaf9bc147fee0b2c93de3;p=m6w6%2Flibmemcached diff --git a/libmemcached/memcached_delete.c b/libmemcached/memcached_delete.c index 5ec2fca3..84b6160c 100644 --- a/libmemcached/memcached_delete.c +++ b/libmemcached/memcached_delete.c @@ -26,8 +26,10 @@ memcached_return memcached_delete_by_key(memcached_st *ptr, LIBMEMCACHED_MEMCACHED_DELETE_START(); - unlikely (key_length == 0) - return MEMCACHED_NO_KEY_PROVIDED; + rc= memcached_validate_key_length(key_length, + ptr->flags & MEM_BINARY_PROTOCOL); + unlikely (rc != MEMCACHED_SUCCESS) + return rc; unlikely (ptr->hosts == NULL || ptr->number_of_hosts == 0) return MEMCACHED_NO_SERVERS; @@ -41,10 +43,10 @@ memcached_return memcached_delete_by_key(memcached_st *ptr, { if (expiration) send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, - "delete %s%.*s %llu\r\n", + "delete %s%.*s %u\r\n", ptr->prefix_key, (int)key_length, key, - (unsigned long long)expiration); + (uint32_t)expiration); else send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, "delete %s%.*s\r\n", @@ -88,7 +90,7 @@ static inline memcached_return binary_delete(memcached_st *ptr, size_t key_length, int flush) { - protocol_binary_request_delete request= {0}; + protocol_binary_request_delete request= {.bytes= {0}}; request.message.header.request.magic= PROTOCOL_BINARY_REQ; request.message.header.request.opcode= PROTOCOL_BINARY_CMD_DELETE;