From 0f9074d088bd0d46d57f47259e8372881c6df5fd Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Thu, 7 Oct 2010 00:59:55 +1030 Subject: [PATCH] opt: fix examples so they compile. --- ccan/opt/_info | 22 +++++++++++----------- ccan/opt/opt.h | 25 +++++++++++++++---------- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/ccan/opt/_info b/ccan/opt/_info index 54ae0776..da87838c 100644 --- a/ccan/opt/_info +++ b/ccan/opt/_info @@ -17,15 +17,15 @@ * static char *somestring; * * static struct opt_table opts[] = { - * { OPT_WITHOUT_ARG("verbose", 'v', opt_inc_intval, &verbose), - * "Verbose mode (can be specified more than once)" }, - * { OPT_WITHOUT_ARG("someflag", 0, opt_set_bool, &someflag), - * "Set someflag" }, - * { OPT_WITH_ARG("somestring", 0, opt_set_charp, &somestring), - * "Set somestring to " }, - * { OPT_WITHOUT_ARG("usage", 0, opt_usage_and_exit, - * "args...\nA silly test program."), - * "Print this message." }, + * { OPT_WITHOUT_ARG("--verbose/-v", opt_inc_intval, &verbose, + * "Verbose mode (can be specified more than once)") }, + * { OPT_WITHOUT_ARG("--someflag", opt_set_bool, &someflag, + * "Set someflag") }, + * { OPT_WITH_ARG("--somefile=", opt_set_charp, opt_show_charp, + * &somestring, "Set somefile to ") }, + * { OPT_WITHOUT_ARG("--usage/--help/-h", opt_usage_and_exit, + * "args...\nA silly test program.", + * "Print this message.") }, * OPT_ENDTABLE * }; * @@ -33,9 +33,9 @@ * { * int i; * - * opt_register_table(opts); + * opt_register_table(opts, NULL); * // For fun, register an extra one. - * opt_register_noarg("no-someflag", 0, opt_set_invbool, &someflag, + * opt_register_noarg("--no-someflag", opt_set_invbool, &someflag, * "Unset someflag"); * if (!opt_parse(&argc, argv, opt_log_stderr)) * exit(1); diff --git a/ccan/opt/opt.h b/ccan/opt/opt.h index 1e25cce3..89fa77ed 100644 --- a/ccan/opt/opt.h +++ b/ccan/opt/opt.h @@ -109,14 +109,15 @@ struct opt_table { * The table must be terminated by OPT_ENDTABLE. * * Example: + * static int verbose = 0; * static struct opt_table opts[] = { - * { OPT_WITHOUT_ARG("--verbose", opt_inc_intval, &verbose), - * "Verbose mode (can be specified more than once)" }, - * { OPT_WITHOUT_ARG("-v", opt_inc_intval, &verbose), - * "Verbose mode (can be specified more than once)" }, + * { OPT_WITHOUT_ARG("--verbose", opt_inc_intval, &verbose, + * "Verbose mode (can be specified more than once)") }, + * { OPT_WITHOUT_ARG("-v", opt_inc_intval, &verbose, + * "Verbose mode (can be specified more than once)") }, * { OPT_WITHOUT_ARG("--usage", opt_usage_and_exit, - * "args...\nA silly test program."), - * "Print this message." }, + * "args...\nA silly test program.", + * "Print this message.") }, * OPT_ENDTABLE * }; * @@ -150,7 +151,7 @@ void opt_register_table(const struct opt_table table[], const char *desc); * opt_register_arg - register an option with an arguments * @names: the names of the option eg. "--foo", "-f" or "--foo/-f/--foobar". * @cb: the callback when the option is found. - * @show: the callback when the option is found. + * @show: the callback to print the value in get_usage (or NULL) * @arg: the argument to hand to @cb. * @desc: the verbose desction of the option (for opt_usage()), or NULL. * @@ -166,8 +167,12 @@ void opt_register_table(const struct opt_table table[], const char *desc); * @cb returns false, opt_parse() will stop parsing and return false. * * Example: - * opt_register_arg("--explode", explode_cb, NULL, - * "Make the machine explode (developers only)"); + * static char *explode(const char *optarg, void *unused) + * { + * errx(1, "BOOM! %s", optarg); + * } + * ... + * opt_register_arg("--explode/--boom", explode, NULL, NULL, opt_hidden); */ #define opt_register_arg(names, cb, show, arg, desc) \ _opt_register((names), OPT_CB_ARG((cb), (show), (arg)), (desc)) @@ -187,7 +192,7 @@ void opt_register_table(const struct opt_table table[], const char *desc); * remain, and true is returned. * * Example: - * if (!opt_parse(argc, argv, opt_log_stderr)) { + * if (!opt_parse(&argc, argv, opt_log_stderr)) { * printf("%s", opt_usage(argv[0], "...")); * exit(1); * } -- 2.39.2