mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-10-02 00:41:44 +02:00
21581: Thorsten Dahlheimer: Src/builtin.c: fixed error output
for unknown signal names when using "trap -".
This commit is contained in:
parent
e041d77fbc
commit
9937c30ba3
@ -5017,13 +5017,20 @@ bin_trap(char *name, char **argv, UNUSED(Options ops), UNUSED(int func))
|
||||
/* If we have a signal number, unset the specified *
|
||||
* signals. With only -, remove all traps. */
|
||||
if ((getsignum(*argv) != -1) || (!strcmp(*argv, "-") && argv++)) {
|
||||
if (!*argv)
|
||||
if (!*argv) {
|
||||
for (sig = 0; sig < VSIGCOUNT; sig++)
|
||||
unsettrap(sig);
|
||||
else
|
||||
while (*argv)
|
||||
unsettrap(getsignum(*argv++));
|
||||
return 0;
|
||||
} else {
|
||||
for (; *argv; argv++) {
|
||||
sig = getsignum(*argv);
|
||||
if (sig == -1) {
|
||||
zwarnnam(name, "undefined signal: %s", *argv, 0);
|
||||
break;
|
||||
}
|
||||
unsettrap(sig);
|
||||
}
|
||||
}
|
||||
return *argv != NULL;
|
||||
}
|
||||
|
||||
/* Sort out the command to execute on trap */
|
||||
|
Loading…
Reference in New Issue
Block a user