From 677cd8cea214ef73bbbed965580575c9abaa048e Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sun, 10 Mar 2019 23:05:24 -0500 Subject: Add TOYFLAG_ARGFAIL() to allow argument parsing failures to exit with value. --- lib/args.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/args.c') diff --git a/lib/args.c b/lib/args.c index 54106c25..1ebc4f2d 100644 --- a/lib/args.c +++ b/lib/args.c @@ -388,6 +388,8 @@ void get_optflags(void) // Option parsing is a two stage process: parse the option string into // a struct opts list, then use that list to process argv[]; + toys.exitval = toys.which->flags >> 24; + // Allocate memory for optargs saveflags = 0; while (toys.argv[saveflags++]); @@ -495,6 +497,8 @@ notflag: help_exit("Needs %s-%s", s[1] ? "one of " : "", needs); } + toys.exitval = 0; + if (CFG_TOYBOX_FREE) { llist_traverse(gof.opts, free); llist_traverse(gof.longopts, free); -- cgit v1.2.3