X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fopt%2Fopt.h;h=c642ec6fafc85d1b87377458d69fa9e3d909101c;hp=0d508cf6fd173d1578bf26d1a703c3b12bbf3643;hb=c656dceb3f04c2e3da7af40824c97eff5119a0b9;hpb=97026cedabce510b2e2e547120f04fe0f6a5ecab diff --git a/ccan/opt/opt.h b/ccan/opt/opt.h index 0d508cf6..c642ec6f 100644 --- a/ccan/opt/opt.h +++ b/ccan/opt/opt.h @@ -286,6 +286,30 @@ bool opt_parse(int *argc, char *argv[], void (*errlog)(const char *fmt, ...)); bool opt_early_parse(int argc, char *argv[], void (*errlog)(const char *fmt, ...)); +/** + * opt_early_parse_incomplete - parse early arguments, ignoring unknown ones. + * @argc: argc + * @argv: argv array. + * @errlog: the function to print errors + * + * If you have plugins, you might need to do early parsing (eg. to find the + * plugin directory) but you don't know what options the plugins will want. + * + * Thus, this function is just like opt_early_parse, but ignores unknown options. + * + * Example: + * if (!opt_early_parse_incomplete(argc, argv, opt_log_stderr)) { + * printf("You screwed up, aborting!\n"); + * exit(1); + * } + * + * See Also: + * opt_early_parse() + */ +bool opt_early_parse_incomplete(int argc, char *argv[], + void (*errlog)(const char *fmt, ...)); + + /** * opt_free_table - reset the opt library. *