|
@@ -90,21 +90,20 @@ struct option {
|
|
intptr_t defval;
|
|
intptr_t defval;
|
|
};
|
|
};
|
|
|
|
|
|
-#define OPT_END() { OPTION_END }
|
|
|
|
-#define OPT_ARGUMENT(l, h) { OPTION_ARGUMENT, 0, (l), NULL, NULL, (h) }
|
|
|
|
-#define OPT_GROUP(h) { OPTION_GROUP, 0, NULL, NULL, NULL, (h) }
|
|
|
|
-#define OPT_BIT(s, l, v, h, b) { OPTION_BIT, (s), (l), (v), NULL, (h), 0, NULL, (b) }
|
|
|
|
-#define OPT_BOOLEAN(s, l, v, h) { OPTION_BOOLEAN, (s), (l), (v), NULL, (h) }
|
|
|
|
-#define OPT_SET_INT(s, l, v, h, i) { OPTION_SET_INT, (s), (l), (v), NULL, (h), 0, NULL, (i) }
|
|
|
|
-#define OPT_SET_PTR(s, l, v, h, p) { OPTION_SET_PTR, (s), (l), (v), NULL, (h), 0, NULL, (p) }
|
|
|
|
-#define OPT_INTEGER(s, l, v, h) { OPTION_INTEGER, (s), (l), (v), NULL, (h) }
|
|
|
|
-#define OPT_LONG(s, l, v, h) { OPTION_LONG, (s), (l), (v), NULL, (h) }
|
|
|
|
-#define OPT_STRING(s, l, v, a, h) { OPTION_STRING, (s), (l), (v), (a), (h) }
|
|
|
|
|
|
+#define OPT_END() { .type = OPTION_END }
|
|
|
|
+#define OPT_ARGUMENT(l, h) { .type = OPTION_ARGUMENT, .long_name = (l), .help = (h) }
|
|
|
|
+#define OPT_GROUP(h) { .type = OPTION_GROUP, .help = (h) }
|
|
|
|
+#define OPT_BIT(s, l, v, h, b) { .type = OPTION_BIT, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (b) }
|
|
|
|
+#define OPT_BOOLEAN(s, l, v, h) { .type = OPTION_BOOLEAN, .short_name = (s), .long_name = (l), .value = (v), .help = (h) }
|
|
|
|
+#define OPT_SET_INT(s, l, v, h, i) { .type = OPTION_SET_INT, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (i) }
|
|
|
|
+#define OPT_SET_PTR(s, l, v, h, p) { .type = OPTION_SET_PTR, .short_name = (s), .long_name = (l), .value = (v), .help = (h), .defval = (p) }
|
|
|
|
+#define OPT_INTEGER(s, l, v, h) { .type = OPTION_INTEGER, .short_name = (s), .long_name = (l), .value = (v), .help = (h) }
|
|
|
|
+#define OPT_LONG(s, l, v, h) { .type = OPTION_LONG, .short_name = (s), .long_name = (l), .value = (v), .help = (h) }
|
|
|
|
+#define OPT_STRING(s, l, v, a, h) { .type = OPTION_STRING, .short_name = (s), .long_name = (l), .value = (v), (a), .help = (h) }
|
|
#define OPT_DATE(s, l, v, h) \
|
|
#define OPT_DATE(s, l, v, h) \
|
|
- { OPTION_CALLBACK, (s), (l), (v), "time",(h), 0, \
|
|
|
|
- parse_opt_approxidate_cb }
|
|
|
|
|
|
+ { .type = OPTION_CALLBACK, .short_name = (s), .long_name = (l), .value = (v), .argh = "time", .help = (h), .callback = parse_opt_approxidate_cb }
|
|
#define OPT_CALLBACK(s, l, v, a, h, f) \
|
|
#define OPT_CALLBACK(s, l, v, a, h, f) \
|
|
- { OPTION_CALLBACK, (s), (l), (v), (a), (h), 0, (f) }
|
|
|
|
|
|
+ { .type = OPTION_CALLBACK, .short_name = (s), .long_name = (l), .value = (v), (a), .help = (h), .callback = (f) }
|
|
|
|
|
|
/* parse_options() will filter out the processed options and leave the
|
|
/* parse_options() will filter out the processed options and leave the
|
|
* non-option argments in argv[].
|
|
* non-option argments in argv[].
|