3 #include "locale_impl.h"
5 #if (SIGHUP == 1) && (SIGINT == 2) && (SIGQUIT == 3) && (SIGILL == 4) \
6 && (SIGTRAP == 5) && (SIGABRT == 6) && (SIGBUS == 7) && (SIGFPE == 8) \
7 && (SIGKILL == 9) && (SIGUSR1 == 10) && (SIGSEGV == 11) && (SIGUSR2 == 12) \
8 && (SIGPIPE == 13) && (SIGALRM == 14) && (SIGTERM == 15) && (SIGSTKFLT == 16) \
9 && (SIGCHLD == 17) && (SIGCONT == 18) && (SIGSTOP == 19) && (SIGTSTP == 20) \
10 && (SIGTTIN == 21) && (SIGTTOU == 22) && (SIGURG == 23) && (SIGXCPU == 24) \
11 && (SIGXFSZ == 25) && (SIGVTALRM == 26) && (SIGPROF == 27) && (SIGWINCH == 28) \
12 && (SIGPOLL == 29) && (SIGPWR == 30) && (SIGSYS == 31)
18 static const char map
[] = {
52 #define sigmap(x) ((x) >= sizeof map ? (x) : map[(x)])
56 static const char strings
[] =
61 "Illegal instruction\0"
62 "Trace/breakpoint trap\0"
65 "Arithmetic exception\0"
67 "User defined signal 1\0"
68 "Segmentation fault\0"
69 "User defined signal 2\0"
74 "Child process status\0"
78 "Stopped (tty input)\0"
79 "Stopped (tty output)\0"
80 "Urgent I/O condition\0"
81 "CPU time limit exceeded\0"
82 "File size limit exceeded\0"
83 "Virtual timer expired\0"
84 "Profiling timer expired\0"
90 "\0RT33\0RT34\0RT35\0RT36\0RT37\0RT38\0RT39\0RT40"
91 "\0RT41\0RT42\0RT43\0RT44\0RT45\0RT46\0RT47\0RT48"
92 "\0RT49\0RT50\0RT51\0RT52\0RT53\0RT54\0RT55\0RT56"
93 "\0RT57\0RT58\0RT59\0RT60\0RT61\0RT62\0RT63\0RT64"
95 "\0RT65\0RT66\0RT67\0RT68\0RT69\0RT70\0RT71\0RT72"
96 "\0RT73\0RT74\0RT75\0RT76\0RT77\0RT78\0RT79\0RT80"
97 "\0RT81\0RT82\0RT83\0RT84\0RT85\0RT86\0RT87\0RT88"
98 "\0RT89\0RT90\0RT91\0RT92\0RT93\0RT94\0RT95\0RT96"
99 "\0RT97\0RT98\0RT99\0RT100\0RT101\0RT102\0RT103\0RT104"
100 "\0RT105\0RT106\0RT107\0RT108\0RT109\0RT110\0RT111\0RT112"
101 "\0RT113\0RT114\0RT115\0RT116\0RT117\0RT118\0RT119\0RT120"
102 "\0RT121\0RT122\0RT123\0RT124\0RT125\0RT126\0RT127\0RT128"
106 char *strsignal(int signum
)
108 const char *s
= strings
;
110 signum
= sigmap(signum
);
111 if (signum
- 1U >= _NSIG
-1) signum
= 0;
113 for (; signum
--; s
++) for (; *s
; s
++);
115 return (char *)LCTRANS_CUR(s
);