Make sys_signame upper case.
This matches the constants from <signal.h> with 'SIG' removed, which POSIX requires kill and trap to accept and 'kill -l' to write. 'kill -l', 'trap', 'trap -l' output is now upper case. In Turkish locales, signal names with an upper case 'I' are now accepted, while signal names with a lower case 'i' are no longer accepted, and the output of 'killall -l' now contains proper capital 'I' without dot instead of a dotted capital 'I'.
This commit is contained in:
parent
3060e03b87
commit
dbecc33067
@ -152,7 +152,7 @@ signame_to_signum(const char *sig)
|
|||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
if (!strncasecmp(sig, "sig", (size_t)3))
|
if (!strncasecmp(sig, "SIG", (size_t)3))
|
||||||
sig += 3;
|
sig += 3;
|
||||||
for (n = 1; n < sys_nsig; n++) {
|
for (n = 1; n < sys_nsig; n++) {
|
||||||
if (!strcasecmp(sys_signame[n], sig))
|
if (!strcasecmp(sys_signame[n], sig))
|
||||||
|
@ -156,7 +156,7 @@ main(int argc, char **argv)
|
|||||||
argv++;
|
argv++;
|
||||||
argc--;
|
argc--;
|
||||||
} else {
|
} else {
|
||||||
if (strncasecmp(p, "sig", 3) == 0)
|
if (strncasecmp(p, "SIG", 3) == 0)
|
||||||
p += 3;
|
p += 3;
|
||||||
for (i = 1; i < NSIG; i++)
|
for (i = 1; i < NSIG; i++)
|
||||||
if (strcasecmp(sys_signame[i], p) == 0)
|
if (strcasecmp(sys_signame[i], p) == 0)
|
||||||
|
@ -101,12 +101,12 @@ sigstring_to_signum(char *sig)
|
|||||||
|
|
||||||
signo = atoi(sig);
|
signo = atoi(sig);
|
||||||
return ((signo >= 0 && signo < NSIG) ? signo : (-1));
|
return ((signo >= 0 && signo < NSIG) ? signo : (-1));
|
||||||
} else if (strcasecmp(sig, "exit") == 0) {
|
} else if (strcasecmp(sig, "EXIT") == 0) {
|
||||||
return (0);
|
return (0);
|
||||||
} else {
|
} else {
|
||||||
int n;
|
int n;
|
||||||
|
|
||||||
if (strncasecmp(sig, "sig", 3) == 0)
|
if (strncasecmp(sig, "SIG", 3) == 0)
|
||||||
sig += 3;
|
sig += 3;
|
||||||
for (n = 1; n < sys_nsig; n++)
|
for (n = 1; n < sys_nsig; n++)
|
||||||
if (sys_signame[n] &&
|
if (sys_signame[n] &&
|
||||||
@ -171,7 +171,7 @@ trapcmd(int argc, char **argv)
|
|||||||
out1str("trap -- ");
|
out1str("trap -- ");
|
||||||
out1qstr(trap[signo]);
|
out1qstr(trap[signo]);
|
||||||
if (signo == 0) {
|
if (signo == 0) {
|
||||||
out1str(" exit\n");
|
out1str(" EXIT\n");
|
||||||
} else if (sys_signame[signo]) {
|
} else if (sys_signame[signo]) {
|
||||||
out1fmt(" %s\n", sys_signame[signo]);
|
out1fmt(" %s\n", sys_signame[signo]);
|
||||||
} else {
|
} else {
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
.\" @(#)psignal.3 8.2 (Berkeley) 2/27/95
|
.\" @(#)psignal.3 8.2 (Berkeley) 2/27/95
|
||||||
.\" $FreeBSD$
|
.\" $FreeBSD$
|
||||||
.\"
|
.\"
|
||||||
.Dd February 27, 1995
|
.Dd February 4, 2011
|
||||||
.Dt PSIGNAL 3
|
.Dt PSIGNAL 3
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -89,7 +89,7 @@ indexed by recognized signal numbers.
|
|||||||
The external array
|
The external array
|
||||||
.Va sys_signame
|
.Va sys_signame
|
||||||
is used similarly and
|
is used similarly and
|
||||||
contains short, lower-case abbreviations for signals
|
contains short, upper-case abbreviations for signals
|
||||||
which are useful for recognizing signal names
|
which are useful for recognizing signal names
|
||||||
in user input.
|
in user input.
|
||||||
The defined variable
|
The defined variable
|
||||||
|
@ -37,37 +37,37 @@ __FBSDID("$FreeBSD$");
|
|||||||
|
|
||||||
const char *const sys_signame[NSIG] = {
|
const char *const sys_signame[NSIG] = {
|
||||||
"Signal 0",
|
"Signal 0",
|
||||||
"hup", /* SIGHUP */
|
"HUP", /* SIGHUP */
|
||||||
"int", /* SIGINT */
|
"INT", /* SIGINT */
|
||||||
"quit", /* SIGQUIT */
|
"QUIT", /* SIGQUIT */
|
||||||
"ill", /* SIGILL */
|
"ILL", /* SIGILL */
|
||||||
"trap", /* SIGTRAP */
|
"TRAP", /* SIGTRAP */
|
||||||
"abrt", /* SIGABRT */
|
"ABRT", /* SIGABRT */
|
||||||
"emt", /* SIGEMT */
|
"EMT", /* SIGEMT */
|
||||||
"fpe", /* SIGFPE */
|
"FPE", /* SIGFPE */
|
||||||
"kill", /* SIGKILL */
|
"KILL", /* SIGKILL */
|
||||||
"bus", /* SIGBUS */
|
"BUS", /* SIGBUS */
|
||||||
"segv", /* SIGSEGV */
|
"SEGV", /* SIGSEGV */
|
||||||
"sys", /* SIGSYS */
|
"SYS", /* SIGSYS */
|
||||||
"pipe", /* SIGPIPE */
|
"PIPE", /* SIGPIPE */
|
||||||
"alrm", /* SIGALRM */
|
"ALRM", /* SIGALRM */
|
||||||
"term", /* SIGTERM */
|
"TERM", /* SIGTERM */
|
||||||
"urg", /* SIGURG */
|
"URG", /* SIGURG */
|
||||||
"stop", /* SIGSTOP */
|
"STOP", /* SIGSTOP */
|
||||||
"tstp", /* SIGTSTP */
|
"TSTP", /* SIGTSTP */
|
||||||
"cont", /* SIGCONT */
|
"CONT", /* SIGCONT */
|
||||||
"chld", /* SIGCHLD */
|
"CHLD", /* SIGCHLD */
|
||||||
"ttin", /* SIGTTIN */
|
"TTIN", /* SIGTTIN */
|
||||||
"ttou", /* SIGTTOU */
|
"TTOU", /* SIGTTOU */
|
||||||
"io", /* SIGIO */
|
"IO", /* SIGIO */
|
||||||
"xcpu", /* SIGXCPU */
|
"XCPU", /* SIGXCPU */
|
||||||
"xfsz", /* SIGXFSZ */
|
"XFSZ", /* SIGXFSZ */
|
||||||
"vtalrm", /* SIGVTALRM */
|
"VTALRM", /* SIGVTALRM */
|
||||||
"prof", /* SIGPROF */
|
"PROF", /* SIGPROF */
|
||||||
"winch", /* SIGWINCH */
|
"WINCH", /* SIGWINCH */
|
||||||
"info", /* SIGINFO */
|
"INFO", /* SIGINFO */
|
||||||
"usr1", /* SIGUSR1 */
|
"USR1", /* SIGUSR1 */
|
||||||
"usr2" /* SIGUSR2 */
|
"USR2" /* SIGUSR2 */
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *const sys_siglist[NSIG] = {
|
const char *const sys_siglist[NSIG] = {
|
||||||
|
@ -218,7 +218,7 @@ main(int ac, char **av)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (isalpha((unsigned char)**av)) {
|
if (isalpha((unsigned char)**av)) {
|
||||||
if (strncasecmp(*av, "sig", 3) == 0)
|
if (strncasecmp(*av, "SIG", 3) == 0)
|
||||||
*av += 3;
|
*av += 3;
|
||||||
for (sig = NSIG, p = sys_signame + 1;
|
for (sig = NSIG, p = sys_signame + 1;
|
||||||
--sig; ++p)
|
--sig; ++p)
|
||||||
|
@ -155,7 +155,7 @@ strsig(int sig)
|
|||||||
ret = NULL;
|
ret = NULL;
|
||||||
if (sig > 0 && sig < NSIG) {
|
if (sig > 0 && sig < NSIG) {
|
||||||
int i;
|
int i;
|
||||||
asprintf(&ret, "sig%s", sys_signame[sig]);
|
asprintf(&ret, "SIG%s", sys_signame[sig]);
|
||||||
if (ret == NULL)
|
if (ret == NULL)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
for (i = 0; ret[i] != '\0'; ++i)
|
for (i = 0; ret[i] != '\0'; ++i)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user