- move common code into new open_new_terminal() function; text data bss dec hex filename 864434 10244 645892 1520570 1733ba busybox_old 864386 10244 645892 1520522 17338a busybox_unstripped
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)
| @@ -27,7 +27,7 @@ Rob Landley <[email protected]>: | |
| bzip2 | |
| Compression-side support. | |
| init | |
| - | General cleanup. |
| + | General cleanup (should use ENABLE_FEATURE_INIT_SYSLOG and ENABLE_FEATURE_INIT_DEBUG). |
| Unify base64 handling. | |
| There's base64 encoding and decoding going on in: | |
| networking/wget.c:base64enc() | |
| @@ -386,6 +386,23 @@ static void fixup_argv(int argc, char **argv, char *new_argv0) | |
| } | |
| } | |
| + | /* Open the new terminal device */ |
| + | static void open_new_terminal(const char *device, char fail) { |
| + | struct stat sb; |
| + | |
| + | if ((device_open(device, O_RDWR)) < 0) { |
| + | if (stat(device, &sb) != 0) { |
| + | message(LOG | CONSOLE, "device '%s' does not exist.", device); |
| + | } else { |
| + | message(LOG | CONSOLE, "Bummer, can't open %s", device); |
| + | } |
| + | if (fail) |
| + | _exit(1); |
| + | /* else */ |
| + | halt_signal(SIGUSR1); |
| + | } |
| + | } |
| + | |
| static pid_t run(const struct init_action *a) | |
| { | |
| int i, junk; | |
| @@ -405,7 +422,6 @@ static pid_t run(const struct init_action *a) | |
| sigprocmask(SIG_BLOCK, &nmask, &omask); | |
| if ((pid = fork()) == 0) { | |
| - | struct stat sb; |
| /* Clean up */ | |
| close(0); | |
| @@ -429,14 +445,7 @@ static pid_t run(const struct init_action *a) | |
| setsid(); | |
| /* Open the new terminal device */ | |
| - | if ((device_open(a->terminal, O_RDWR)) < 0) { |
| - | if (stat(a->terminal, &sb) != 0) { |
| - | message(LOG | CONSOLE, "device '%s' does not exist.", a->terminal); |
| - | } else { |
| - | message(LOG | CONSOLE, "Bummer, can't open %s", a->terminal); |
| - | } |
| - | _exit(1); |
| - | } |
| + | open_new_terminal(a->terminal, 1); |
| /* Make sure the terminal will act fairly normal for us */ | |
| set_term(0); | |
| @@ -575,12 +584,15 @@ static pid_t run(const struct init_action *a) | |
| getpid(), a->terminal, cmdpath); | |
| #if defined CONFIG_FEATURE_INIT_COREDUMPS | |
| - | if (stat(CORE_ENABLE_FLAG_FILE, &sb) == 0) { |
| - | struct rlimit limit; |
| + | { |
| + | struct stat sb; |
| + | if (stat(CORE_ENABLE_FLAG_FILE, &sb) == 0) { |
| + | struct rlimit limit; |
| - | limit.rlim_cur = RLIM_INFINITY; |
| - | limit.rlim_max = RLIM_INFINITY; |
| - | setrlimit(RLIMIT_CORE, &limit); |
| + | limit.rlim_cur = RLIM_INFINITY; |
| + | limit.rlim_max = RLIM_INFINITY; |
| + | setrlimit(RLIMIT_CORE, &limit); |
| + | } |
| } | |
| #endif | |
| @@ -729,15 +741,7 @@ static void exec_signal(int sig ATTRIBUTE_UNUSED) | |
| close(2); | |
| /* Open the new terminal device */ | |
| - | if ((device_open(a->terminal, O_RDWR)) < 0) { |
| - | struct stat sb; |
| - | if (stat(a->terminal, &sb) != 0) { |
| - | message(LOG | CONSOLE, "device '%s' does not exist.", a->terminal); |
| - | } else { |
| - | message(LOG | CONSOLE, "Bummer, can't open %s", a->terminal); |
| - | } |
| - | halt_signal(SIGUSR1); |
| - | } |
| + | open_new_terminal(a->terminal, 0); |
| /* Make sure the terminal will act fairly normal for us */ | |
| set_term(0); | |