diff options
author | Jari Aalto <jari.aalto@cante.net> | 1999-02-19 17:11:39 +0000 |
---|---|---|
committer | Jari Aalto <jari.aalto@cante.net> | 2009-09-12 16:46:52 +0000 |
commit | b72432fdcc59300c6fe7c9d6c8a31ad3447933f5 (patch) | |
tree | b9899162338c2ff3fd83a8aef8831cb119e85cd7 /trap.c | |
parent | bc4cd23ce958feda898c618215f94d8a4e8f4ffa (diff) | |
download | android_external_bash-b72432fdcc59300c6fe7c9d6c8a31ad3447933f5.tar.gz android_external_bash-b72432fdcc59300c6fe7c9d6c8a31ad3447933f5.tar.bz2 android_external_bash-b72432fdcc59300c6fe7c9d6c8a31ad3447933f5.zip |
Imported from ../bash-2.03.tar.gz.
Diffstat (limited to 'trap.c')
-rw-r--r-- | trap.c | 17 |
1 files changed, 13 insertions, 4 deletions
@@ -116,6 +116,11 @@ initialize_traps () set_signal_handler (SIGINT, original_signals[SIGINT]); sigmodes[SIGINT] |= SIG_SPECIAL; +#if defined (__BEOS__) + /* BeOS sets SIGINT to SIG_IGN! */ + original_signals[SIGINT] = SIG_DFL; +#endif + original_signals[SIGQUIT] = (SigHandler *) set_signal_handler (SIGQUIT, SIG_DFL); set_signal_handler (SIGQUIT, original_signals[SIGQUIT]); @@ -159,10 +164,14 @@ decode_signal (string) /* A leading `SIG' may be omitted. */ for (sig = 0; sig <= NSIG; sig++) - if (strcasecmp (string, signal_names[sig]) == 0 || - (STREQN (signal_names[sig], "SIG", 3) && - strcasecmp (string, &(signal_names[sig])[3]) == 0)) - return ((int)sig); + { + if (signal_names[sig] == 0 || signal_names[sig][0] == '\0') + continue; + if (strcasecmp (string, signal_names[sig]) == 0 || + (STREQN (signal_names[sig], "SIG", 3) && + strcasecmp (string, &(signal_names[sig])[3]) == 0)) + return ((int)sig); + } return (NO_SIG); } |