X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fvirtual_bucket.c;h=8af3a72fdca656c5a85abf9c62877fb29d93179f;hb=60f2851fbf579b4266b316567fbde641049073a2;hp=1428fba8ed9cd4efcda41c12e1e1c85f9fe10012;hpb=b16fffff43d822239ce79a366ec36873b0803df9;p=m6w6%2Flibmemcached diff --git a/libmemcached/virtual_bucket.c b/libmemcached/virtual_bucket.c index 1428fba8..8af3a72f 100644 --- a/libmemcached/virtual_bucket.c +++ b/libmemcached/virtual_bucket.c @@ -35,9 +35,7 @@ * */ -#include -#include -#include +#include struct bucket_t { uint32_t master; @@ -58,20 +56,26 @@ memcached_return_t memcached_virtual_bucket_create(memcached_st *self, const uint32_t replicas) { if (! self || ! host_map || ! buckets) + { return MEMCACHED_INVALID_ARGUMENTS; + } memcached_virtual_bucket_free(self); struct memcached_virtual_bucket_t *virtual_bucket= (struct memcached_virtual_bucket_t *)malloc(sizeof(struct memcached_virtual_bucket_t) + sizeof(struct bucket_t) *buckets); - if (! virtual_bucket) + if (virtual_bucket == NULL) + { return MEMCACHED_MEMORY_ALLOCATION_FAILURE; + } + virtual_bucket->size= buckets; virtual_bucket->replicas= replicas; self->virtual_bucket= virtual_bucket; - for (uint32_t x=0; x < buckets; x++) + uint32_t x= 0; + for (; x < buckets; x++) { virtual_bucket->buckets[x].master= host_map[x]; if (forward_map) @@ -83,18 +87,21 @@ memcached_return_t memcached_virtual_bucket_create(memcached_st *self, virtual_bucket->buckets[x].forward= 0; } } - return MEMCACHED_SUCCESS; } void memcached_virtual_bucket_free(memcached_st *self) { - if (! self) + if (self == NULL) + { return; + } - if (! self->virtual_bucket) + if (self->virtual_bucket == NULL) + { return; + } free(self->virtual_bucket); self->virtual_bucket= NULL; @@ -102,11 +109,15 @@ void memcached_virtual_bucket_free(memcached_st *self) uint32_t memcached_virtual_bucket_get(const memcached_st *self, uint32_t digest) { - if (! self) + if (self == NULL) + { return 0; + } - if (! self->virtual_bucket) + if (self->virtual_bucket == NULL) + { return 0; + } if (self->virtual_bucket) {