| OLD | NEW |
| 1 #include <signal.h> | 1 #include <signal.h> |
| 2 #include <string.h> | 2 #include <string.h> |
| 3 #include "locale_impl.h" | 3 #include "locale_impl.h" |
| 4 | 4 |
| 5 #if (SIGHUP == 1) && (SIGINT == 2) && (SIGQUIT == 3) && (SIGILL == 4) \ | 5 #if (SIGHUP == 1) && (SIGINT == 2) && (SIGQUIT == 3) && (SIGILL == 4) && \ |
| 6 && (SIGTRAP == 5) && (SIGABRT == 6) && (SIGBUS == 7) && (SIGFPE == 8) \ | 6 (SIGTRAP == 5) && (SIGABRT == 6) && (SIGBUS == 7) && (SIGFPE == 8) && \ |
| 7 && (SIGKILL == 9) && (SIGUSR1 == 10) && (SIGSEGV == 11) && (SIGUSR2 == 12) \ | 7 (SIGKILL == 9) && (SIGUSR1 == 10) && (SIGSEGV == 11) && (SIGUSR2 == 12) && \ |
| 8 && (SIGPIPE == 13) && (SIGALRM == 14) && (SIGTERM == 15) && (SIGSTKFLT == 16) \ | 8 (SIGPIPE == 13) && (SIGALRM == 14) && (SIGTERM == 15) && \ |
| 9 && (SIGCHLD == 17) && (SIGCONT == 18) && (SIGSTOP == 19) && (SIGTSTP == 20) \ | 9 (SIGSTKFLT == 16) && (SIGCHLD == 17) && (SIGCONT == 18) && \ |
| 10 && (SIGTTIN == 21) && (SIGTTOU == 22) && (SIGURG == 23) && (SIGXCPU == 24) \ | 10 (SIGSTOP == 19) && (SIGTSTP == 20) && (SIGTTIN == 21) && \ |
| 11 && (SIGXFSZ == 25) && (SIGVTALRM == 26) && (SIGPROF == 27) && (SIGWINCH == 28)
\ | 11 (SIGTTOU == 22) && (SIGURG == 23) && (SIGXCPU == 24) && (SIGXFSZ == 25) && \ |
| 12 && (SIGPOLL == 29) && (SIGPWR == 30) && (SIGSYS == 31) | 12 (SIGVTALRM == 26) && (SIGPROF == 27) && (SIGWINCH == 28) && \ |
| 13 (SIGPOLL == 29) && (SIGPWR == 30) && (SIGSYS == 31) |
| 13 | 14 |
| 14 #define sigmap(x) x | 15 #define sigmap(x) x |
| 15 | 16 |
| 16 #else | 17 #else |
| 17 | 18 |
| 18 static const char map[] = { | 19 static const char map[] = {[SIGHUP] = 1, [SIGINT] = 2, [SIGQUIT] = 3, |
| 19 » [SIGHUP] = 1, | 20 [SIGILL] = 4, [SIGTRAP] = 5, [SIGABRT] = 6, |
| 20 » [SIGINT] = 2, | 21 [SIGBUS] = 7, [SIGFPE] = 8, [SIGKILL] = 9, |
| 21 » [SIGQUIT] = 3, | 22 [SIGUSR1] = 10, [SIGSEGV] = 11, [SIGUSR2] = 12, |
| 22 » [SIGILL] = 4, | 23 [SIGPIPE] = 13, [SIGALRM] = 14, [SIGTERM] = 15, |
| 23 » [SIGTRAP] = 5, | 24 [SIGSTKFLT] = 16, [SIGCHLD] = 17, [SIGCONT] = 18, |
| 24 » [SIGABRT] = 6, | 25 [SIGSTOP] = 19, [SIGTSTP] = 20, [SIGTTIN] = 21, |
| 25 » [SIGBUS] = 7, | 26 [SIGTTOU] = 22, [SIGURG] = 23, [SIGXCPU] = 24, |
| 26 » [SIGFPE] = 8, | 27 [SIGXFSZ] = 25, [SIGVTALRM] = 26, [SIGPROF] = 27, |
| 27 » [SIGKILL] = 9, | 28 [SIGWINCH] = 28, [SIGPOLL] = 29, [SIGPWR] = 30, |
| 28 » [SIGUSR1] = 10, | 29 [SIGSYS] = 31}; |
| 29 » [SIGSEGV] = 11, | |
| 30 » [SIGUSR2] = 12, | |
| 31 » [SIGPIPE] = 13, | |
| 32 » [SIGALRM] = 14, | |
| 33 » [SIGTERM] = 15, | |
| 34 » [SIGSTKFLT] = 16, | |
| 35 » [SIGCHLD] = 17, | |
| 36 » [SIGCONT] = 18, | |
| 37 » [SIGSTOP] = 19, | |
| 38 » [SIGTSTP] = 20, | |
| 39 » [SIGTTIN] = 21, | |
| 40 » [SIGTTOU] = 22, | |
| 41 » [SIGURG] = 23, | |
| 42 » [SIGXCPU] = 24, | |
| 43 » [SIGXFSZ] = 25, | |
| 44 » [SIGVTALRM] = 26, | |
| 45 » [SIGPROF] = 27, | |
| 46 » [SIGWINCH] = 28, | |
| 47 » [SIGPOLL] = 29, | |
| 48 » [SIGPWR] = 30, | |
| 49 » [SIGSYS] = 31 | |
| 50 }; | |
| 51 | 30 |
| 52 #define sigmap(x) ((x) >= sizeof map ? (x) : map[(x)]) | 31 #define sigmap(x) ((x) >= sizeof map ? (x) : map[(x)]) |
| 53 | 32 |
| 54 #endif | 33 #endif |
| 55 | 34 |
| 56 static const char strings[] = | 35 static const char strings[] = |
| 57 » "Unknown signal\0" | 36 "Unknown signal\0" |
| 58 » "Hangup\0" | 37 "Hangup\0" |
| 59 » "Interrupt\0" | 38 "Interrupt\0" |
| 60 » "Quit\0" | 39 "Quit\0" |
| 61 » "Illegal instruction\0" | 40 "Illegal instruction\0" |
| 62 » "Trace/breakpoint trap\0" | 41 "Trace/breakpoint trap\0" |
| 63 » "Aborted\0" | 42 "Aborted\0" |
| 64 » "Bus error\0" | 43 "Bus error\0" |
| 65 » "Arithmetic exception\0" | 44 "Arithmetic exception\0" |
| 66 » "Killed\0" | 45 "Killed\0" |
| 67 » "User defined signal 1\0" | 46 "User defined signal 1\0" |
| 68 » "Segmentation fault\0" | 47 "Segmentation fault\0" |
| 69 » "User defined signal 2\0" | 48 "User defined signal 2\0" |
| 70 » "Broken pipe\0" | 49 "Broken pipe\0" |
| 71 » "Alarm clock\0" | 50 "Alarm clock\0" |
| 72 » "Terminated\0" | 51 "Terminated\0" |
| 73 » "Stack fault\0" | 52 "Stack fault\0" |
| 74 » "Child process status\0" | 53 "Child process status\0" |
| 75 » "Continued\0" | 54 "Continued\0" |
| 76 » "Stopped (signal)\0" | 55 "Stopped (signal)\0" |
| 77 » "Stopped\0" | 56 "Stopped\0" |
| 78 » "Stopped (tty input)\0" | 57 "Stopped (tty input)\0" |
| 79 » "Stopped (tty output)\0" | 58 "Stopped (tty output)\0" |
| 80 » "Urgent I/O condition\0" | 59 "Urgent I/O condition\0" |
| 81 » "CPU time limit exceeded\0" | 60 "CPU time limit exceeded\0" |
| 82 » "File size limit exceeded\0" | 61 "File size limit exceeded\0" |
| 83 » "Virtual timer expired\0" | 62 "Virtual timer expired\0" |
| 84 » "Profiling timer expired\0" | 63 "Profiling timer expired\0" |
| 85 » "Window changed\0" | 64 "Window changed\0" |
| 86 » "I/O possible\0" | 65 "I/O possible\0" |
| 87 » "Power failure\0" | 66 "Power failure\0" |
| 88 » "Bad system call\0" | 67 "Bad system call\0" |
| 89 » "RT32" | 68 "RT32" |
| 90 » "\0RT33\0RT34\0RT35\0RT36\0RT37\0RT38\0RT39\0RT40" | 69 "\0RT33\0RT34\0RT35\0RT36\0RT37\0RT38\0RT39\0RT40" |
| 91 » "\0RT41\0RT42\0RT43\0RT44\0RT45\0RT46\0RT47\0RT48" | 70 "\0RT41\0RT42\0RT43\0RT44\0RT45\0RT46\0RT47\0RT48" |
| 92 » "\0RT49\0RT50\0RT51\0RT52\0RT53\0RT54\0RT55\0RT56" | 71 "\0RT49\0RT50\0RT51\0RT52\0RT53\0RT54\0RT55\0RT56" |
| 93 » "\0RT57\0RT58\0RT59\0RT60\0RT61\0RT62\0RT63\0RT64" | 72 "\0RT57\0RT58\0RT59\0RT60\0RT61\0RT62\0RT63\0RT64" |
| 94 #if _NSIG > 65 | 73 #if _NSIG > 65 |
| 95 » "\0RT65\0RT66\0RT67\0RT68\0RT69\0RT70\0RT71\0RT72" | 74 "\0RT65\0RT66\0RT67\0RT68\0RT69\0RT70\0RT71\0RT72" |
| 96 » "\0RT73\0RT74\0RT75\0RT76\0RT77\0RT78\0RT79\0RT80" | 75 "\0RT73\0RT74\0RT75\0RT76\0RT77\0RT78\0RT79\0RT80" |
| 97 » "\0RT81\0RT82\0RT83\0RT84\0RT85\0RT86\0RT87\0RT88" | 76 "\0RT81\0RT82\0RT83\0RT84\0RT85\0RT86\0RT87\0RT88" |
| 98 » "\0RT89\0RT90\0RT91\0RT92\0RT93\0RT94\0RT95\0RT96" | 77 "\0RT89\0RT90\0RT91\0RT92\0RT93\0RT94\0RT95\0RT96" |
| 99 » "\0RT97\0RT98\0RT99\0RT100\0RT101\0RT102\0RT103\0RT104" | 78 "\0RT97\0RT98\0RT99\0RT100\0RT101\0RT102\0RT103\0RT104" |
| 100 » "\0RT105\0RT106\0RT107\0RT108\0RT109\0RT110\0RT111\0RT112" | 79 "\0RT105\0RT106\0RT107\0RT108\0RT109\0RT110\0RT111\0RT112" |
| 101 » "\0RT113\0RT114\0RT115\0RT116\0RT117\0RT118\0RT119\0RT120" | 80 "\0RT113\0RT114\0RT115\0RT116\0RT117\0RT118\0RT119\0RT120" |
| 102 » "\0RT121\0RT122\0RT123\0RT124\0RT125\0RT126\0RT127\0RT128" | 81 "\0RT121\0RT122\0RT123\0RT124\0RT125\0RT126\0RT127\0RT128" |
| 103 #endif | 82 #endif |
| 104 » ""; | 83 ""; |
| 105 | 84 |
| 106 char *strsignal(int signum) | 85 char* strsignal(int signum) { |
| 107 { | 86 const char* s = strings; |
| 108 » const char *s = strings; | |
| 109 | 87 |
| 110 » signum = sigmap(signum); | 88 signum = sigmap(signum); |
| 111 » if (signum - 1U >= _NSIG-1) signum = 0; | 89 if (signum - 1U >= _NSIG - 1) |
| 90 signum = 0; |
| 112 | 91 |
| 113 » for (; signum--; s++) for (; *s; s++); | 92 for (; signum--; s++) |
| 93 for (; *s; s++) |
| 94 ; |
| 114 | 95 |
| 115 » return (char *)LCTRANS_CUR(s); | 96 return (char*)LCTRANS_CUR(s); |
| 116 } | 97 } |
| OLD | NEW |