X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fopt%2Ftest%2Futils.c;h=802b15381042b0dc63a26f440e54bb8c0f2b7f0c;hb=ef9dec6018e1f0c6e546245a1478be523592d02d;hp=a012d40b8e5958456a415f414a78b6514228c357;hpb=f8b1841d26dabd23c053f5fc61dbd1536cdad43c;p=ccan diff --git a/ccan/opt/test/utils.c b/ccan/opt/test/utils.c index a012d40b..802b1538 100644 --- a/ccan/opt/test/utils.c +++ b/ccan/opt/test/utils.c @@ -35,7 +35,9 @@ static void save_err_output(const char *fmt, ...) char *p; va_start(ap, fmt); - vasprintf(&p, fmt, ap); + /* Check return, for fascist gcc */ + if (vasprintf(&p, fmt, ap) == -1) + p = NULL; va_end(ap); if (err_output) { @@ -70,33 +72,33 @@ bool parse_args(int *argc, char ***argv, ...) struct opt_table short_table[] = { /* Short opts, different args. */ - { OPT_WITHOUT_ARG(NULL, 'a', test_noarg, "a"), "Description of a" }, - { OPT_WITH_ARG(NULL, 'b', test_arg, show_arg, "b"), "Description of b" }, + OPT_WITHOUT_ARG("-a", test_noarg, "a", "Description of a"), + OPT_WITH_ARG("-b", test_arg, show_arg, "b", "Description of b"), OPT_ENDTABLE }; struct opt_table long_table[] = { /* Long opts, different args. */ - { OPT_WITHOUT_ARG("ddd", 0, test_noarg, "ddd"), "Description of ddd" }, - { OPT_WITH_ARG("eee", 0, test_arg, show_arg, "eee"), }, + OPT_WITHOUT_ARG("--ddd", test_noarg, "ddd", "Description of ddd"), + OPT_WITH_ARG("--eee ", test_arg, show_arg, "eee", ""), OPT_ENDTABLE }; struct opt_table long_and_short_table[] = { /* Short and long, different args. */ - { OPT_WITHOUT_ARG("ggg", 'g', test_noarg, "ggg"), - "Description of ggg" }, - { OPT_WITH_ARG("hhh", 'h', test_arg, NULL, "hhh"), - "Description of hhh"}, + OPT_WITHOUT_ARG("--ggg|-g", test_noarg, "ggg", "Description of ggg"), + OPT_WITH_ARG("-h|--hhh", test_arg, NULL, "hhh", "Description of hhh"), OPT_ENDTABLE }; /* Sub-table test. */ struct opt_table subtables[] = { - /* Short and long, no description */ - { OPT_WITH_ARG("jjj", 'j', test_arg, show_arg, "jjj") }, + /* Two short, and two long long, no description */ + OPT_WITH_ARG("--jjj|-j|--lll|-l", test_arg, show_arg, "jjj", ""), + /* Hidden option */ + OPT_WITH_ARG("--mmm|-m", test_arg, show_arg, "mmm", opt_hidden), OPT_SUBTABLE(short_table, NULL), OPT_SUBTABLE(long_table, "long table options"), - OPT_SUBTABLE(long_and_short_table, opt_table_hidden), + OPT_SUBTABLE(long_and_short_table, NULL), OPT_ENDTABLE };