+/* Licensed under GPLv3+ - see LICENSE file for details */
#include <ccan/opt/opt.h>
#include <string.h>
#include <stdlib.h>
extra = "";
for (i = 0; i < opt_count; i++) {
if (opt_table[i].cb == (void *)opt_usage_and_exit
- && opt_table[i].arg) {
- extra = opt_table[i].arg;
+ && opt_table[i].u.carg) {
+ extra = opt_table[i].u.carg;
break;
}
}
}
p = ret = malloc(len);
- if (!ret)
- return NULL;
-
p += sprintf(p, "Usage: %s", argv0);
p += sprintf(p, " [-");
num = write_short_options(p);
len += sprintf(p + len, " <arg>");
len += sprintf(p + len, "%.*s",
len < strlen(OPT_SPACE_PAD)
- ? strlen(OPT_SPACE_PAD) - len : 1,
+ ? (unsigned)strlen(OPT_SPACE_PAD) - len : 1,
OPT_SPACE_PAD);
len += sprintf(p + len, "%s", opt_table[i].desc);
if (opt_table[i].show) {
char buf[OPT_SHOW_LEN + sizeof("...")];
strcpy(buf + OPT_SHOW_LEN, "...");
- opt_table[i].show(buf, opt_table[i].arg);
+ opt_table[i].show(buf, opt_table[i].u.arg);
len += sprintf(p + len, " (default: %s)", buf);
}
p += len;