XXX(double);
XXX(boolean);
XXX(string);
- case lc_opt_type_negbit: res = "bit"; break;
- case lc_opt_type_negboolean: res = "boolean"; break;
default:
res = "<none>";
}
*(unsigned*)data &= ~length;
break;
- case lc_opt_type_negbit:
- integer = va_arg(args, int);
- if (integer)
- *(unsigned*)data &= ~length;
- else
- *(unsigned*)data |= length;
- break;
-
case lc_opt_type_boolean:
*((int *) data) = va_arg(args, int);
break;
- case lc_opt_type_negboolean:
- *((int *) data) = !va_arg(args, int);
- break;
-
case lc_opt_type_string:
strncpy((char*)data, va_arg(args, const char *), length);
break;
if (data) {
switch (type) {
case lc_opt_type_bit:
- case lc_opt_type_negbit:
res = snprintf(buf, n, "%x", *((unsigned *) data));
break;
case lc_opt_type_boolean:
- case lc_opt_type_negboolean:
res = snprintf(buf, n, "%s", *((int *) data) ? "true" : "false");
break;
case lc_opt_type_string:
break;
case lc_opt_type_boolean:
- case lc_opt_type_negboolean:
case lc_opt_type_bit:
- case lc_opt_type_negbit:
strtolower(buf, sizeof(buf), value);
for (i = 0; i < ARRAY_SIZE(bool_strings); ++i) {
if (strcmp(buf, bool_strings[i].str) == 0) {
lc_opt_type_invalid,
lc_opt_type_enum,
lc_opt_type_bit,
- lc_opt_type_negbit,
lc_opt_type_boolean,
- lc_opt_type_negboolean,
lc_opt_type_string,
lc_opt_type_int,
lc_opt_type_double
#define LC_OPT_ENT_BIT(name, desc, addr, mask) \
_LC_OPT_ENT(name, desc, lc_opt_type_bit, unsigned, addr, mask, lc_opt_std_cb, lc_opt_std_dump, NULL)
-#define LC_OPT_ENT_NEGBIT(name, desc, addr, mask) \
- _LC_OPT_ENT(name, desc, lc_opt_type_negbit, unsigned, addr, mask, lc_opt_std_cb, lc_opt_std_dump, NULL)
-
#define LC_OPT_ENT_BOOL(name, desc, addr) \
_LC_OPT_ENT(name, desc, lc_opt_type_boolean, int, addr, 0, lc_opt_std_cb, lc_opt_std_dump, lc_opt_bool_dump_vals)
-#define LC_OPT_ENT_NEGBOOL(name, desc, addr) \
- _LC_OPT_ENT(name, desc, lc_opt_type_negboolean, int, addr, 0, lc_opt_std_cb, lc_opt_std_dump, lc_opt_bool_dump_vals)
-
typedef char lc_opt_str_t[];
#define LC_OPT_ENT_STR(name, desc, buf) \
_LC_OPT_ENT(name, desc, lc_opt_type_string, lc_opt_str_t, buf, sizeof(*buf), lc_opt_std_cb, lc_opt_std_dump, NULL)