X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=clients%2Fgenerator.c;h=cd1a17bfe71059fceb49fff382b7975220284b35;hb=f6ae31806fbccf6c2440bd246b555b41cf7b4307;hp=8000910e6b8abf74aaf907a57be5efa7a170bc3b;hpb=a07bb255b72aa59d0f4c4c63bb71695b2e9df537;p=m6w6%2Flibmemcached diff --git a/clients/generator.c b/clients/generator.c index 8000910e..cd1a17bf 100644 --- a/clients/generator.c +++ b/clients/generator.c @@ -13,13 +13,18 @@ static const char ALPHANUMERICS[]= #define ALPHANUMERICS_SIZE (sizeof(ALPHANUMERICS)-1) +static size_t get_alpha_num(void) +{ + return (size_t)random() % ALPHANUMERICS_SIZE; +} + static void get_random_string(char *buffer, size_t size) { char *buffer_ptr= buffer; while (--size) - *buffer_ptr++= ALPHANUMERICS[random() % ALPHANUMERICS_SIZE]; - *buffer_ptr++= ALPHANUMERICS[random() % ALPHANUMERICS_SIZE]; + *buffer_ptr++= ALPHANUMERICS[get_alpha_num()]; + *buffer_ptr++= ALPHANUMERICS[get_alpha_num()]; } void pairs_free(pairs_st *pairs) @@ -44,22 +49,20 @@ pairs_st *pairs_generate(uint64_t number_of, size_t value_length) unsigned int x; pairs_st *pairs; - pairs= (pairs_st*)malloc(sizeof(pairs_st) * (number_of+1)); + pairs= (pairs_st*)calloc(number_of + 1, sizeof(pairs_st)); if (!pairs) goto error; - memset(pairs, 0, sizeof(pairs_st) * (number_of+1)); - for (x= 0; x < number_of; x++) { - pairs[x].key= (char *)malloc(sizeof(char) * 100); + pairs[x].key= (char *)calloc(100, sizeof(char)); if (!pairs[x].key) goto error; get_random_string(pairs[x].key, 100); pairs[x].key_length= 100; - pairs[x].value= (char *)malloc(sizeof(char) * value_length); + pairs[x].value= (char *)calloc(value_length, sizeof(char)); if (!pairs[x].value) goto error; get_random_string(pairs[x].value, value_length);