summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author"Vladimir N. Oleynik"2005-10-05 13:58:40 +0000
committer"Vladimir N. Oleynik"2005-10-05 13:58:40 +0000
commit4a5ce08688bc22d5b66363bfad4628b0b57d60f4 (patch)
tree1d4921567b40c0b3c6d0589da9c7773835434ec2
parentb48bfe795ec20dc03ead851ea7c56b053f1289af (diff)
downloadbusybox-4a5ce08688bc22d5b66363bfad4628b0b57d60f4.zip
busybox-4a5ce08688bc22d5b66363bfad4628b0b57d60f4.tar.gz
another more correction for getopt_ulflags() documentation (examples)
-rw-r--r--libbb/getopt_ulflags.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/libbb/getopt_ulflags.c b/libbb/getopt_ulflags.c
index 5ed9c2e..2e2ee0b 100644
--- a/libbb/getopt_ulflags.c
+++ b/libbb/getopt_ulflags.c
@@ -134,9 +134,12 @@ const char *bb_opt_complementally
llist_t *my_b = NULL;
int verbose_level = 0;
bb_opt_complementally = "vv:b*:b-c:c-b";
- bb_getopt_ulflags(argc, argv, "vb:c", &my_b, &verbose_level);
- while (my_b) { dosomething_with(my_b->data) ; my_b = my_b->link; }
- if (verbose_level) bb_printf("verbose\n");
+ f = bb_getopt_ulflags(argc, argv, "vb:c", &my_b, &verbose_level);
+ if((f & 2)) // -c after -b unset this -b flag
+ while (my_b) { dosomething_with(my_b->data) ; my_b = my_b->link; }
+ if(my_b) // but llist stored always if -b found
+ free_llist(my_b);
+ if (verbose_level) bb_printf("verbose level is %d\n", verbose_level);
Special characters:
@@ -174,8 +177,8 @@ Special characters:
bb_opt_complementally = "-:w-x:x-w";
bb_getopt_ulflags(argc, argv, "wx");
- Allows option 'w' to be given without a dash (./program w x)
- as well as with a dash (./program -x).
+ Allows any arguments to be given without a dash (./program w x)
+ as well as with a dash (./program -x). Why unset -w see above.
"~" A tilde between two options, or between an option and a group
of options, means that they are mutually exclusive. Unlike