#include "lc_opts_t.h"
#include "lc_opts_enum.h"
-static const char *delim = " \t|,";
+static const char *delim = " \t|,";
#define DECL_CB(N, op) \
int lc_opt_enum_ ## N ## _cb(LC_UNUSED(const char *name), LC_UNUSED(lc_opt_type_t type), void *data, size_t len, ...) \
{ \
- lc_opt_enum_ ## N ## _var_t *var = data; \
- const lc_opt_enum_ ## N ## _items_t *items = var->items; \
+ lc_opt_enum_ ## N ## _var_t *var = (lc_opt_enum_ ## N ## _var_t*)data; \
+ const lc_opt_enum_ ## N ## _items_t *items = var->items; \
\
va_list args; \
char *s, *tmp; \
va_end(args); \
\
end = strlen(arg); \
- tmp = s = malloc((end + 1) * sizeof(arg[0])); \
+ tmp = s = (char*)malloc((end + 1) * sizeof(arg[0])); \
strcpy(s, arg); \
s[end] = '\0'; \
\
end = 0; \
- while(arg[end] != '\0') { \
+ while (arg[end] != '\0') { \
unsigned int i; \
\
begin = end + strspn(arg + end, delim); \
s = tmp + begin; \
s[end - begin] = '\0'; \
\
- for(i = 0; items[i].name != NULL; ++i) { \
- if(strcmp(s, items[i].name) == 0) { \
+ for (i = 0; items[i].name != NULL; ++i) { \
+ if (strcmp(s, items[i].name) == 0) { \
*var->value op items[i].value; \
res = 1; \
} \
#define DECL_DUMP(T, N, cond) \
int lc_opt_enum_ ## N ## _dump(char *buf, size_t n, LC_UNUSED(const char *name), LC_UNUSED(lc_opt_type_t type), void *data, LC_UNUSED(size_t len)) \
{ \
- lc_opt_enum_ ## N ## _var_t *var = data; \
- const lc_opt_enum_ ## N ## _items_t *items = var->items; \
- const char *prefix = ""; \
+ lc_opt_enum_ ## N ## _var_t *var = (lc_opt_enum_ ## N ## _var_t*)data; \
+ const lc_opt_enum_ ## N ## _items_t *items = var->items; \
+ const char *prefix = ""; \
TYPE(value) = *var->value; \
int i; \
size_t l = strlen(buf); \
} \
} \
\
- return strlen(buf); \
+ return (int)strlen(buf); \
} \
#define DECL_DUMP_VALS(T, N) \
int lc_opt_enum_ ## N ## _dump_vals(char *buf, size_t n, LC_UNUSED(const char *name), LC_UNUSED(lc_opt_type_t type), void *data, LC_UNUSED(size_t len)) \
{ \
- lc_opt_enum_ ## N ## _var_t *var = data; \
- const lc_opt_enum_ ## N ## _items_t *items = var->items; \
- const char *prefix = ""; \
+ lc_opt_enum_ ## N ## _var_t *var = (lc_opt_enum_ ## N ## _var_t*) data; \
+ const lc_opt_enum_ ## N ## _items_t *items = var->items; \
+ const char *prefix = ""; \
int i; \
size_t l = strlen(buf); \
\
prefix = ", "; \
} \
\
- return strlen(buf); \
+ return (int)strlen(buf); \
} \