diff options
author | "Vladimir N. Oleynik" <dzo@simtreas.ru> | 2005-10-05 17:58:40 +0400 |
---|---|---|
committer | "Vladimir N. Oleynik" <dzo@simtreas.ru> | 2005-10-05 17:58:40 +0400 |
commit | 4a5ce08688bc22d5b66363bfad4628b0b57d60f4 (patch) | |
tree | 1d4921567b40c0b3c6d0589da9c7773835434ec2 /libbb/getopt_ulflags.c | |
parent | b48bfe795ec20dc03ead851ea7c56b053f1289af (diff) |
another more correction for getopt_ulflags() documentation (examples)
Diffstat (limited to 'libbb/getopt_ulflags.c')
-rw-r--r-- | libbb/getopt_ulflags.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/libbb/getopt_ulflags.c b/libbb/getopt_ulflags.c index 5ed9c2e70..2e2ee0b6b 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 |