From 4a5ce08688bc22d5b66363bfad4628b0b57d60f4 Mon Sep 17 00:00:00 2001 From: "Vladimir N. Oleynik" Date: Wed, 5 Oct 2005 13:58:40 +0000 Subject: another more correction for getopt_ulflags() documentation (examples) --- libbb/getopt_ulflags.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'libbb') 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 -- cgit v1.1