+/* LibMemcached
+ * Copyright (C) 2006-2009 Brian Aker
+ * All rights reserved.
+ *
+ * Use and distribution licensed under the BSD license. See
+ * the COPYING file in the parent directory for full text.
+ *
+ * Summary:
+ *
+ */
+
+#include "libmemcached/common.h"
+
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#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)
unsigned int x;
pairs_st *pairs;
- pairs= (pairs_st*)malloc(sizeof(pairs_st) * (number_of+1));
+ pairs= (pairs_st*)calloc((size_t)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);