From: "Vladimir N. Oleynik" Date: Wed, 5 Oct 2005 13:58:40 +0000 (-0000) Subject: another more correction for getopt_ulflags() documentation (examples) X-Git-Tag: 1_1_0~591 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4a5ce08688bc22d5b66363bfad4628b0b57d60f4;p=oweals%2Fbusybox.git another more correction for getopt_ulflags() documentation (examples) --- 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