X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;ds=inline;f=ccan%2Fopt%2Fopt.h;h=c642ec6fafc85d1b87377458d69fa9e3d909101c;hb=bc6d22ecf820d0b4547ace17ff7e7ecebf0e415b;hp=0d508cf6fd173d1578bf26d1a703c3b12bbf3643;hpb=61f58ff94e35c9b8ac5488554e2554bc5c9888b3;p=ccan 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. *