diff options
author | Ron Yorston <rmy@pobox.com> | 2012-10-10 12:56:24 +0100 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2012-10-10 12:56:24 +0100 |
commit | 981a6fcd1323a77d5829c7d574bb40fd1b96dc4d (patch) | |
tree | a1e3aadf4de65d7a525c7dd6172546ff577777d5 /libbb | |
parent | 19436cc0ee509a5e356c04f0026919abd417bec4 (diff) | |
parent | eab343e7e1e5331df833aa69f14584e4a6c738f1 (diff) | |
download | busybox-w32-981a6fcd1323a77d5829c7d574bb40fd1b96dc4d.tar.gz busybox-w32-981a6fcd1323a77d5829c7d574bb40fd1b96dc4d.tar.bz2 busybox-w32-981a6fcd1323a77d5829c7d574bb40fd1b96dc4d.zip |
Merge branch 'busybox' into merge
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/get_shell_name.c | 2 | ||||
-rw-r--r-- | libbb/lineedit.c | 3 | ||||
-rw-r--r-- | libbb/procps.c | 2 | ||||
-rw-r--r-- | libbb/signals.c | 6 |
4 files changed, 8 insertions, 5 deletions
diff --git a/libbb/get_shell_name.c b/libbb/get_shell_name.c index c930afd94..5aebe9cdc 100644 --- a/libbb/get_shell_name.c +++ b/libbb/get_shell_name.c | |||
@@ -8,7 +8,7 @@ | |||
8 | 8 | ||
9 | #include "libbb.h" | 9 | #include "libbb.h" |
10 | 10 | ||
11 | const char *get_shell_name(void) | 11 | const char* FAST_FUNC get_shell_name(void) |
12 | { | 12 | { |
13 | struct passwd *pw; | 13 | struct passwd *pw; |
14 | char *shell; | 14 | char *shell; |
diff --git a/libbb/lineedit.c b/libbb/lineedit.c index 65dffe56d..8a276d941 100644 --- a/libbb/lineedit.c +++ b/libbb/lineedit.c | |||
@@ -2754,7 +2754,8 @@ int FAST_FUNC read_line_input(const char* prompt, char* command, int maxsize) | |||
2754 | { | 2754 | { |
2755 | fputs(prompt, stdout); | 2755 | fputs(prompt, stdout); |
2756 | fflush_all(); | 2756 | fflush_all(); |
2757 | fgets(command, maxsize, stdin); | 2757 | if (!fgets(command, maxsize, stdin)) |
2758 | return -1; | ||
2758 | return strlen(command); | 2759 | return strlen(command); |
2759 | } | 2760 | } |
2760 | 2761 | ||
diff --git a/libbb/procps.c b/libbb/procps.c index 1080e0165..c6977da51 100644 --- a/libbb/procps.c +++ b/libbb/procps.c | |||
@@ -586,6 +586,8 @@ void FAST_FUNC read_cmdline(char *buf, int col, unsigned pid, const char *comm) | |||
586 | buf[sz] = '\0'; | 586 | buf[sz] = '\0'; |
587 | while (--sz >= 0 && buf[sz] == '\0') | 587 | while (--sz >= 0 && buf[sz] == '\0') |
588 | continue; | 588 | continue; |
589 | /* Prevent basename("process foo/bar") = "bar" */ | ||
590 | strchrnul(buf, ' ')[0] = '\0'; | ||
589 | base = bb_basename(buf); /* before we replace argv0's NUL with space */ | 591 | base = bb_basename(buf); /* before we replace argv0's NUL with space */ |
590 | while (sz >= 0) { | 592 | while (sz >= 0) { |
591 | if ((unsigned char)(buf[sz]) < ' ') | 593 | if ((unsigned char)(buf[sz]) < ' ') |
diff --git a/libbb/signals.c b/libbb/signals.c index cdc37b1ef..56512473a 100644 --- a/libbb/signals.c +++ b/libbb/signals.c | |||
@@ -39,7 +39,7 @@ void FAST_FUNC bb_signals(int sigs, void (*f)(int)) | |||
39 | 39 | ||
40 | while (sigs) { | 40 | while (sigs) { |
41 | if (sigs & bit) { | 41 | if (sigs & bit) { |
42 | sigs &= ~bit; | 42 | sigs -= bit; |
43 | signal(sig_no, f); | 43 | signal(sig_no, f); |
44 | } | 44 | } |
45 | sig_no++; | 45 | sig_no++; |
@@ -60,7 +60,7 @@ void FAST_FUNC bb_signals_recursive_norestart(int sigs, void (*f)(int)) | |||
60 | 60 | ||
61 | while (sigs) { | 61 | while (sigs) { |
62 | if (sigs & bit) { | 62 | if (sigs & bit) { |
63 | sigs &= ~bit; | 63 | sigs -= bit; |
64 | sigaction_set(sig_no, &sa); | 64 | sigaction_set(sig_no, &sa); |
65 | } | 65 | } |
66 | sig_no++; | 66 | sig_no++; |
@@ -97,7 +97,7 @@ void FAST_FUNC kill_myself_with_sig(int sig) | |||
97 | signal(sig, SIG_DFL); | 97 | signal(sig, SIG_DFL); |
98 | sig_unblock(sig); | 98 | sig_unblock(sig); |
99 | raise(sig); | 99 | raise(sig); |
100 | _exit(EXIT_FAILURE); /* Should not reach it */ | 100 | _exit(sig | 128); /* Should not reach it */ |
101 | } | 101 | } |
102 | 102 | ||
103 | void FAST_FUNC signal_SA_RESTART_empty_mask(int sig, void (*handler)(int)) | 103 | void FAST_FUNC signal_SA_RESTART_empty_mask(int sig, void (*handler)(int)) |