From 89ab4094302f2df12b2a2efd460c4af6f4191eb7 Mon Sep 17 00:00:00 2001 From: Martin Piatka Date: Mon, 21 Sep 2020 14:25:47 +0200 Subject: [PATCH] main: Fix compilation on glibc >= 2.32 (sys_siglist) --- src/main.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 4d5f9a59a..878cdda71 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -271,14 +271,18 @@ static void crash_signal_handler(int sig) *ptr++ = message1[i]; } #ifndef WIN32 - *ptr++ = ' '; *ptr++ = '('; - for (size_t i = 0; i < sizeof sys_siglist[sig] - 1; ++i) { - if (sys_siglist[sig][i] == '\0') { - break; +#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 32) + const char *sigabbrev = sigabbrev_np(sig); +#else + const char *sigabbrev = sys_siglist[sig]; +#endif + if (sigabbrev != NULL) { + *ptr++ = ' '; *ptr++ = '('; + for (size_t i = 0; sigabbrev[i] != '\0'; ++i) { + *ptr++ = sigabbrev[i]; } - *ptr++ = sys_siglist[sig][i]; + *ptr++ = ')'; } - *ptr++ = ')'; #endif const char message2[] = ".\n\nPlease send a bug report to address "; for (size_t i = 0; i < sizeof message2 - 1; ++i) {