← Commit list

4a5ce0868

"Vladimir N. Oleynik"
"Vladimir N. Oleynik"
2005-10-05
SOURCE BUG Duration: 8s

Subject

another more correction for getopt_ulflags() documentation (examples)

SOURCE BUG

This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)

→ Bu hatanin tam hikayesini ve duzeltme diffini gor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

libbb/getopt_ulflags.c+8 -5
@@ -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