annotate lib/sig2str.c @ 6259:96c32553b4c6

Use a consistent style for including <config.h>. * __fpending.c, acl.c, argmatch.c, argp-help.c, argp-parse.c, argp-pvh.c, backupfile.c, basename.c, c-stack.c, calloc.c, check-version.c, cloexec.c, closeout.c, copy-file.c, creat-safer.c, cycle-check.c, dirfd.c, dirname.c, dup-safer.c, dup2.c, euidaccess.c, exclude.c, exitfail.c, fatal-signal.c, fd-safer.c, file-type.c, fileblocks.c, filemode.c, filenamecat.c, findprog.c, fnmatch.c, fopen-safer.c, free.c, fsusage.c, ftruncate.c, full-write.c, fwriteerror.c, getaddrinfo.c, getcwd.c, getdelim.c, getline.c, getlogin_r.c, getndelim2.c, getnline.c, getopt1.c, getpass.c, group-member.c, hard-locale.c, hash-pjw.c, hash.c, human.c, idcache.c, inet_ntop.c, isdir.c, long-options.c, malloc.c, memcasecmp.c, memcmp.c, memcoll.c, memcpy.c, memmove.c, mkdir-p.c, modechange.c, mountlist.c, open-safer.c, physmem.c, pipe-safer.c, pipe.c, poll.c, posixver.c, progname.c, progreloc.c, putenv.c, quote.c, quotearg.c, readline.c, readlink.c, realloc.c, regex.c, rename.c, rmdir.c, rpmatch.c, safe-read.c, same.c, save-cwd.c, savedir.c, sig2str.c, strcspn.c, strerror.c, stripslash.c, strncasecmp.c, strndup.c, strnlen.c, strnlen1.c, strsep.c, strstr.c, strtod.c, strtoimax.c, strtol.c, strverscmp.c, tempname.c, time_r.c, userspec.c, utimecmp.c, version-etc-fsf.c, version-etc.c, wait-process.c, xalloc-die.c, xgetcwd.c, xmalloc.c, xmemcoll.c, xnanosleep.c, xreadlink.c, xsetenv.c, xstrndup.c, xstrtoimax.c, xstrtol.c, xstrtoumax.c, yesno.c: Standardize inclusion of config.h. * __fpending.h, dirfd.h, getdate.h, human.h, inttostr.h: Removed inclusion of config.h from header files. * inttostr.c: Adjusted in-tree users. * timespec.h: Remove superfluous warning to include config.h. * atexit.c, chdir-long.c chown.c, fchown-stub.c, getgroups.c, gettimeofday.c, lchown.c, lstat.c, mkdir.c, mkstemp.c, nanosleep.c, openat.c, raise.c, readtokens0.c, readutmp.c, unlinkdir.c: Guard inclusion of config.h with HAVE_CONFIG_H.
author Paul Eggert <eggert@cs.ucla.edu>
date Mon, 19 Sep 2005 17:28:14 +0000
parents a48fb0e98c8c
children 6aeb4d6c28d9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3821
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
1 /* sig2str.c -- convert between signal names and numbers
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
2
5159
a535859efd14 Merge from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4014
diff changeset
3 Copyright (C) 2002, 2004 Free Software Foundation, Inc.
3821
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
4
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
5 This program is free software; you can redistribute it and/or modify
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
6 it under the terms of the GNU General Public License as published by
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
7 the Free Software Foundation; either version 2, or (at your option)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
8 any later version.
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
9
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
10 This program is distributed in the hope that it will be useful,
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
13 GNU General Public License for more details.
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
14
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
15 You should have received a copy of the GNU General Public License
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
16 along with this program; if not, write to the Free Software Foundation,
5848
a48fb0e98c8c *** empty log message ***
Paul Eggert <eggert@cs.ucla.edu>
parents: 5159
diff changeset
17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
3821
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
18
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
19 /* Written by Paul Eggert. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
20
6259
96c32553b4c6 Use a consistent style for including <config.h>.
Paul Eggert <eggert@cs.ucla.edu>
parents: 5848
diff changeset
21 #ifdef HAVE_CONFIG_H
3821
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
22 # include <config.h>
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
23 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
24
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
25 #include <limits.h>
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
26 #include <signal.h>
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
27 #include <stdlib.h>
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
28 #include <stdio.h>
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
29 #include <string.h>
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
30
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
31 #include "sig2str.h"
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
32
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
33 #ifndef SIGRTMIN
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
34 # define SIGRTMIN 0
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
35 # undef SIGRTMAX
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
36 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
37 #ifndef SIGRTMAX
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
38 # define SIGRTMAX (SIGRTMIN - 1)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
39 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
40
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
41 #define NUMNAME(name) { SIG##name, #name }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
42
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
43 /* Signal names and numbers. Put the preferred name first. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
44 static struct numname { int num; char const name[8]; } numname_table[] =
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
45 {
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
46 /* Signals required by POSIX 1003.1-2001 base, listed in
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
47 traditional numeric order. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
48 #ifdef SIGHUP
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
49 NUMNAME (HUP),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
50 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
51 #ifdef SIGINT
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
52 NUMNAME (INT),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
53 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
54 #ifdef SIGQUIT
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
55 NUMNAME (QUIT),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
56 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
57 #ifdef SIGILL
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
58 NUMNAME (ILL),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
59 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
60 #ifdef SIGTRAP
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
61 NUMNAME (TRAP),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
62 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
63 #ifdef SIGABRT
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
64 NUMNAME (ABRT),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
65 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
66 #ifdef SIGFPE
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
67 NUMNAME (FPE),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
68 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
69 #ifdef SIGKILL
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
70 NUMNAME (KILL),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
71 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
72 #ifdef SIGBUS
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
73 NUMNAME (BUS),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
74 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
75 #ifdef SIGSEGV
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
76 NUMNAME (SEGV),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
77 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
78 #ifdef SIGPIPE
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
79 NUMNAME (PIPE),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
80 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
81 #ifdef SIGALRM
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
82 NUMNAME (ALRM),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
83 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
84 #ifdef SIGTERM
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
85 NUMNAME (TERM),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
86 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
87 #ifdef SIGUSR1
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
88 NUMNAME (USR1),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
89 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
90 #ifdef SIGUSR2
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
91 NUMNAME (USR2),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
92 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
93 #ifdef SIGCHLD
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
94 NUMNAME (CHLD),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
95 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
96 #ifdef SIGURG
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
97 NUMNAME (URG),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
98 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
99 #ifdef SIGSTOP
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
100 NUMNAME (STOP),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
101 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
102 #ifdef SIGTSTP
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
103 NUMNAME (TSTP),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
104 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
105 #ifdef SIGCONT
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
106 NUMNAME (CONT),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
107 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
108 #ifdef SIGTTIN
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
109 NUMNAME (TTIN),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
110 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
111 #ifdef SIGTTOU
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
112 NUMNAME (TTOU),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
113 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
114
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
115 /* Signals required by POSIX 1003.1-2001 with the XSI extension. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
116 #ifdef SIGSYS
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
117 NUMNAME (SYS),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
118 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
119 #ifdef SIGPOLL
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
120 NUMNAME (POLL),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
121 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
122 #ifdef SIGVTALRM
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
123 NUMNAME (VTALRM),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
124 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
125 #ifdef SIGPROF
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
126 NUMNAME (PROF),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
127 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
128 #ifdef SIGXCPU
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
129 NUMNAME (XCPU),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
130 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
131 #ifdef SIGXFSZ
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
132 NUMNAME (XFSZ),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
133 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
134
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
135 /* Unix Version 7. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
136 #ifdef SIGIOT
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
137 NUMNAME (IOT), /* Older name for ABRT. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
138 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
139 #ifdef SIGEMT
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
140 NUMNAME (EMT),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
141 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
142
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
143 /* USG Unix. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
144 #ifdef SIGPHONE
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
145 NUMNAME (PHONE),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
146 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
147 #ifdef SIGWIND
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
148 NUMNAME (WIND),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
149 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
150
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
151 /* Unix System V. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
152 #ifdef SIGCLD
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
153 NUMNAME (CLD),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
154 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
155 #ifdef SIGPWR
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
156 NUMNAME (PWR),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
157 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
158
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
159 /* GNU/Linux 2.2 and Solaris 8. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
160 #ifdef SIGCANCEL
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
161 NUMNAME (CANCEL),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
162 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
163 #ifdef SIGLWP
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
164 NUMNAME (LWP),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
165 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
166 #ifdef SIGWAITING
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
167 NUMNAME (WAITING),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
168 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
169 #ifdef SIGFREEZE
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
170 NUMNAME (FREEZE),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
171 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
172 #ifdef SIGTHAW
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
173 NUMNAME (THAW),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
174 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
175 #ifdef SIGLOST
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
176 NUMNAME (LOST),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
177 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
178 #ifdef SIGWINCH
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
179 NUMNAME (WINCH),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
180 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
181
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
182 /* GNU/Linux 2.2. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
183 #ifdef SIGINFO
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
184 NUMNAME (INFO),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
185 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
186 #ifdef SIGIO
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
187 NUMNAME (IO),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
188 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
189 #ifdef SIGSTKFLT
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
190 NUMNAME (STKFLT),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
191 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
192
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
193 /* AIX 5L. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
194 #ifdef SIGDANGER
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
195 NUMNAME (DANGER),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
196 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
197 #ifdef SIGGRANT
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
198 NUMNAME (GRANT),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
199 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
200 #ifdef SIGMIGRATE
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
201 NUMNAME (MIGRATE),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
202 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
203 #ifdef SIGMSG
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
204 NUMNAME (MSG),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
205 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
206 #ifdef SIGPRE
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
207 NUMNAME (PRE),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
208 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
209 #ifdef SIGRETRACT
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
210 NUMNAME (RETRACT),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
211 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
212 #ifdef SIGSAK
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
213 NUMNAME (SAK),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
214 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
215 #ifdef SIGSOUND
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
216 NUMNAME (SOUND),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
217 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
218
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
219 /* Older AIX versions. */
3822
9915ac1b89e0 Remove definition of unused WTERMSIG.
Jim Meyering <jim@meyering.net>
parents: 3821
diff changeset
220 #ifdef SIGALRM1
3821
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
221 NUMNAME (ALRM1), /* unknown; taken from Bash 2.05 */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
222 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
223 #ifdef SIGKAP
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
224 NUMNAME (KAP), /* Older name for SIGGRANT. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
225 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
226 #ifdef SIGVIRT
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
227 NUMNAME (VIRT), /* unknown; taken from Bash 2.05 */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
228 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
229 #ifdef SIGWINDOW
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
230 NUMNAME (WINDOW), /* Older name for SIGWINCH. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
231 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
232
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
233 /* BeOS */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
234 #ifdef SIGKILLTHR
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
235 NUMNAME (KILLTHR),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
236 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
237
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
238 /* Older HP-UX versions. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
239 #ifdef SIGDIL
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
240 NUMNAME (DIL),
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
241 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
242
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
243 /* Korn shell and Bash, of uncertain vintage. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
244 { 0, "EXIT" }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
245 };
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
246
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
247 #define NUMNAME_ENTRIES (sizeof numname_table / sizeof numname_table[0])
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
248
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
249 /* ISDIGIT differs from isdigit, as follows:
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
250 - Its arg may be any int or unsigned int; it need not be an unsigned char.
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
251 - It's guaranteed to evaluate its argument exactly once.
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
252 - It's typically faster.
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
253 POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
254 ISDIGIT_LOCALE unless it's important to use the locale's definition
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
255 of `digit' even when the host does not conform to POSIX. */
5159
a535859efd14 Merge from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4014
diff changeset
256 #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
3821
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
257
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
258 /* Convert the signal name SIGNAME to a signal number. Return the
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
259 signal number if successful, -1 otherwise. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
260
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
261 static int
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
262 str2signum (char const *signame)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
263 {
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
264 if (ISDIGIT (*signame))
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
265 {
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
266 char *endp;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
267 long int n = strtol (signame, &endp, 10);
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
268 if (! *endp && n <= SIGNUM_BOUND)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
269 return n;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
270 }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
271 else
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
272 {
5159
a535859efd14 Merge from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4014
diff changeset
273 unsigned int i;
3821
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
274 for (i = 0; i < NUMNAME_ENTRIES; i++)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
275 if (strcmp (numname_table[i].name, signame) == 0)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
276 return numname_table[i].num;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
277
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
278 {
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
279 char *endp;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
280 int rtmin = SIGRTMIN;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
281 int rtmax = SIGRTMAX;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
282
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
283 if (0 < rtmin && strncmp (signame, "RTMIN", 5) == 0)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
284 {
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
285 long int n = strtol (signame + 5, &endp, 10);
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
286 if (! *endp && 0 <= n && n <= rtmax - rtmin)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
287 return rtmin + n;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
288 }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
289 else if (0 < rtmax && strncmp (signame, "RTMAX", 5) == 0)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
290 {
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
291 long int n = strtol (signame + 5, &endp, 10);
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
292 if (! *endp && rtmin - rtmax <= n && n <= 0)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
293 return rtmax + n;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
294 }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
295 }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
296 }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
297
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
298 return -1;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
299 }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
300
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
301 /* Convert the signal name SIGNAME to the signal number *SIGNUM.
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
302 Return 0 if successful, -1 otherwise. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
303
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
304 int
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
305 str2sig (char const *signame, int *signum)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
306 {
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
307 *signum = str2signum (signame);
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
308 return *signum < 0 ? -1 : 0;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
309 }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
310
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
311 /* Convert SIGNUM to a signal name in SIGNAME. SIGNAME must point to
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
312 a buffer of at least SIG2STR_MAX bytes. Return 0 if successful, -1
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
313 otherwise. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
314
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
315 int
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
316 sig2str (int signum, char *signame)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
317 {
5159
a535859efd14 Merge from coreutils.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4014
diff changeset
318 unsigned int i;
3821
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
319 for (i = 0; i < NUMNAME_ENTRIES; i++)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
320 if (numname_table[i].num == signum)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
321 {
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
322 strcpy (signame, numname_table[i].name);
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
323 return 0;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
324 }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
325
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
326 {
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
327 int rtmin = SIGRTMIN;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
328 int rtmax = SIGRTMAX;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
329
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
330 if (! (rtmin <= signum && signum <= rtmax))
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
331 return -1;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
332
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
333 if (signum <= rtmin + (rtmax - rtmin) / 2)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
334 {
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
335 int delta = signum - rtmin;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
336 sprintf (signame, delta ? "RTMIN+%d" : "RTMIN", delta);
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
337 }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
338 else
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
339 {
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
340 int delta = rtmax - signum;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
341 sprintf (signame, delta ? "RTMAX-%d" : "RTMAX", delta);
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
342 }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
343
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
344 return 0;
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
345 }
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
346 }