aboutsummaryrefslogtreecommitdiff
path: root/bb.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2019-05-22 01:50:46 -0700
committerBruce Hill <bruce@bruce-hill.com>2019-05-22 01:50:46 -0700
commit3a2438dc081e624570a000e2e3c5617837ba0892 (patch)
treefe228675386196853b663764ab3281dd1454d34b /bb.c
parentf9eabe730dfadedf2a029dc584ea2f36b3339e60 (diff)
Better arg parsing and updated docs
Diffstat (limited to 'bb.c')
-rw-r--r--bb.c26
1 files changed, 19 insertions, 7 deletions
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;
}