From 3a2438dc081e624570a000e2e3c5617837ba0892 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 22 May 2019 01:50:46 -0700 Subject: Better arg parsing and updated docs --- bb.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'bb.c') diff --git a/bb.c b/bb.c index 633cc3a..4a95186 100644 --- a/bb.c +++ b/bb.c @@ -952,13 +952,25 @@ int main(int argc, char *argv[]) char sep = '\n'; int print_dir = 0, print_selection = 0; for (int i = 1; i < argc; i++) { - if (strcmp(argv[i], "-d") == 0) { - print_dir = 1; - } else if (strcmp(argv[i], "-0") == 0) { - sep = '\0'; - } else if (strcmp(argv[i], "-s") == 0) { - print_selection = 1; - } else if (path[0]) { + if (argv[i][0] == '-' && argv[i][1] == '-') + continue; + if (argv[i][0] == '-') { + for (char *c = &argv[i][1]; *c; c++) { + switch (*c) { + case 'd': + print_dir = 1; + break; + case '0': + sep = '\0'; + break; + case 's': + print_selection = 1; + break; + } + } + continue; + } + if (argv[i][0]) { path = argv[i]; break; } -- cgit v1.2.3