aboutsummaryrefslogtreecommitdiffstats
path: root/FICS/ficsmain.c
diff options
context:
space:
mode:
authorMarkus Uhlin <markus@nifty-networks.net>2026-03-24 18:46:14 +0100
committerMarkus Uhlin <markus@nifty-networks.net>2026-03-24 18:46:14 +0100
commit6f899539d84c5e98091bd210331c728ad8266a5e (patch)
treed60d35bf14a5f035bd9601d95c604e9bc40ad478 /FICS/ficsmain.c
parent975ec87814f14d809d5ef15cd8000bd8484db06c (diff)
BrokenPipe: usage of strsignal()
Diffstat (limited to 'FICS/ficsmain.c')
-rw-r--r--FICS/ficsmain.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/FICS/ficsmain.c b/FICS/ficsmain.c
index 3de515d..06e1771 100644
--- a/FICS/ficsmain.c
+++ b/FICS/ficsmain.c
@@ -88,7 +88,29 @@ PRIVATE __dead void usage(char *);
PRIVATE void
BrokenPipe(int sig)
{
- (void) fprintf(stderr, "FICS: Got Broken Pipe (%d)\n", sig);
+ char buf[1024] = { '\0' };
+
+ // NOLINTBEGIN
+ switch (sig) {
+ case SIGPIPE:
+ (void) snprintf(buf, sizeof buf, "FICS: Got signal %d "
+ "(SIGPIPE): ", sig);
+ break;
+ default:
+ (void) snprintf(buf, sizeof buf, "FICS: Got signal %d "
+ "(Unknown): ", sig);
+ break;
+ }
+
+ const char *desc = strsignal(sig);
+
+ (void) strlcat(buf, (desc ? desc : "n/a"), sizeof buf);
+
+ if (strlcat(buf, "\n", sizeof buf) >= sizeof buf)
+ /* null */;
+ else
+ (void) fputs(buf, stderr);
+ // NOLINTEND
}
PRIVATE void