accept unlimited number of swap arguments like the real swap{on,off} and shrink do_em_all a little
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)
| @@ -38,10 +38,10 @@ static int swap_enable_disable(const char *device) | |
| if (status != 0) { | |
| bb_perror_msg("%s", device); | |
| - | return EXIT_FAILURE; |
| + | return 1; |
| } | |
| - | return EXIT_SUCCESS; |
| + | return 0; |
| } | |
| static int do_em_all(void) | |
| @@ -57,8 +57,7 @@ static int do_em_all(void) | |
| err = 0; | |
| while ((m = getmntent(f)) != NULL) | |
| if (strcmp(m->mnt_type, MNTTYPE_SWAP) == 0) | |
| - | if (swap_enable_disable(m->mnt_fsname) == EXIT_FAILURE) |
| - | ++err; |
| + | err += swap_enable_disable(m->mnt_fsname); |
| endmntent(f); | |
| @@ -69,13 +68,17 @@ static int do_em_all(void) | |
| extern int swap_on_off_main(int argc, char **argv) | |
| { | |
| - | unsigned long opt = bb_getopt_ulflags(argc, argv, "a"); |
| + | int ret; |
| - | if (argc != 2) |
| + | if (argc == 1) |
| bb_show_usage(); | |
| - | if (opt & DO_ALL) |
| + | ret = bb_getopt_ulflags(argc, argv, "a"); |
| + | if (ret & DO_ALL) |
| return do_em_all(); | |
| - | return swap_enable_disable(argv[1]); |
| + | ret = 0; |
| + | while (*++argv) |
| + | ret += swap_enable_disable(*argv); |
| + | return ret; |
| } | |