* Summary:
*
*/
+#include "config.h"
-#include "libmemcached/common.h"
#include <stdio.h>
#include <ctype.h>
#include <string.h>
case OPT_UDP: return("Use UDP protocol when communicating with server.");
case OPT_USERNAME: return "Username to use for SASL authentication";
case OPT_PASSWD: return "Password to use for SASL authentication";
+ case OPT_FILE: return "Path to file in which to save result";
+ case OPT_STAT_ARGS: return "Argument for statistics";
default: WATCHPOINT_ASSERT(0);
};
void help_command(const char *command_name, const char *description,
const struct option *long_options,
- memcached_programs_help_st *options __attribute__((unused)))
+ memcached_programs_help_st *options)
{
unsigned int x;
+ (void)options;
printf("%s v%u.%u\n\n", command_name, 1U, 0U);
printf("\t%s\n\n", description);
}
}
+#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
static char *username;
static char *passwd;
-#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
static int get_username(void *context, int id, const char **result,
unsigned int *len)
{
sasl_secret_t **psecret)
{
(void)context;
- static sasl_secret_t* x;
+ static sasl_secret_t* ptr;
if (!conn || ! psecret || id != SASL_CB_PASS)
return SASL_BADPARAM;
}
size_t len= strlen(passwd);
- x = realloc(x, sizeof(sasl_secret_t) + len);
- if (!x)
+ ptr= malloc(sizeof(sasl_secret_t) + len +1);
+ if (! ptr)
return SASL_NOMEM;
- x->len = len;
- strcpy((void *)x->data, passwd);
+ ptr->len= len;
+ memcpy(ptr->data, passwd, len);
+ ptr->data[len]= 0;
- *psecret = x;
+ *psecret= ptr;
return SASL_OK;
}
#else
(void)memc;
(void)user;
- (void)passwd;
+ (void)password;
#endif
return true;
void shutdown_sasl(void)
{
-#if LIBMEMCACHED_WITH_SASL_SUPPORT
+#ifdef LIBMEMCACHED_WITH_SASL_SUPPORT
if (username != NULL || passwd != NULL)
sasl_done();
#endif
}
+
+void initialize_sockets(void)
+{
+ /* Define the function for all platforms to avoid #ifdefs in each program */
+#ifdef WIN32
+ WSADATA wsaData;
+ if (WSAStartup(MAKEWORD(2,0), &wsaData) != 0)
+ {
+ fprintf(stderr, "Socket Initialization Error. Program aborted\n");
+ exit(EXIT_FAILURE);
+ }
+#endif
+}