← Commit list

2d5e4f6b0

Mike Frysinger
Mike Frysinger
2005-09-16
SOURCE BUG Duration: 8s

Subject

accept unlimited number of swap arguments like the real swap{on,off} and shrink do_em_all a little

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 →

util-linux/swaponoff.c+11 -8
@@ -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;
}