losetup: with no arguments lists all /dev/loopN. Corrected help text. (patch by Vladimir Dronnikov
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)
No binary (build failed)
—
(log yok)
| @@ -1623,13 +1623,14 @@ USE_FEATURE_DATE_ISOFMT( \ | |
| "\t-f\t\toutput data as the log grows" | |
| #define losetup_trivial_usage \ | |
| - | "[-od] LOOPDEVICE [FILE]" |
| + | "[-o OFFSET] [-d] LOOPDEVICE [FILE]]" |
| #define losetup_full_usage \ | |
| - | "Associate LOOPDEVICE with FILE, or display current association.\n\n" \ |
| + | "(Dis)associate LOOPDEVICE with FILE, or display current associations.\n\n" \ |
| "Options:\n" \ | |
| "\t-d\t\tDisassociate LOOPDEVICE\n" \ | |
| "\t-o OFFSET\tStart OFFSET bytes into FILE" | |
| #define losetup_notes_usage \ | |
| + | "No arguments will display all current associations.\n" \ |
| "One argument (losetup /dev/loop1) will display the current association\n" \ | |
| "(if any), or disassociate it (with -d). The display shows the offset\n" \ | |
| "and filename of the file the loop device is currently bound to.\n\n" \ | |
| @@ -22,7 +22,8 @@ int losetup_main(int argc, char **argv) | |
| argc -= optind; | |
| argv += optind; | |
| - | if (opt == 0x3) bb_show_usage(); // -d and -o (illegal) |
| + | if (opt == 0x3) // -d + -o (illegal) |
| + | bb_show_usage(); |
| if (opt == 0x1) { // -d | |
| /* detach takes exactly one argument */ | |
| @@ -46,7 +47,18 @@ int losetup_main(int argc, char **argv) | |
| if (!s) bb_perror_nomsg_and_die(); | |
| printf("%s: %s\n", argv[0], s); | |
| if (ENABLE_FEATURE_CLEAN_UP) free(s); | |
| - | } else |
| - | bb_show_usage(); |
| + | } else { |
| + | char dev[11] = "/dev/loop0"; |
| + | char c; |
| + | for (c = '0'; c <= '9'; ++c) { |
| + | char *s; |
| + | dev[9] = c; |
| + | s = query_loop(dev); |
| + | if (s) { |
| + | printf("%s: %s\n", dev, s); |
| + | if (ENABLE_FEATURE_CLEAN_UP) free(s); |
| + | } |
| + | } |
| + | } |
| return EXIT_SUCCESS; | |
| } | |