[PATCH] getopt: Add support for '--' to stop option parsing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In some cases when commands have optional arguments it is necessary
to explicitly stop option parsing after the last nonpositonal option.
Add support for '--' to accomplish this as done in getopt(3) aswell.

Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
---
 lib/getopt.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/getopt.c b/lib/getopt.c
index fd12a88..847830c 100644
--- a/lib/getopt.c
+++ b/lib/getopt.c
@@ -64,6 +64,11 @@ int getopt(int argc, char *argv[], const char *optstring)
 	while(1) {
 		debug("optindex: %d nonopts: %d optind: %d\n", optindex, nonopts, optind);
 
+		if (optindex == 1 && argv[optind] && !strcmp(argv[optind], "--")) {
+			optind++;
+			return -1;
+		}
+
 		/* first put nonopts to the end */
 		while (optind + nonopts < argc && *argv[optind] != '-') {
 			int i;
-- 
2.8.1


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux