[PATCHv2] Make SIG2STR_MAX usable in #if
Mingye Wang
arthur200126@gmail.com
Wed Jun 21 12:13:20 GMT 2023
> That should be 7 + 11 - 1 = 17 and 7 + 6 - 1 = 12, shouldn't it?
Yep, it should be. Misread my terminal output and wondered for a bit
why the second one is longer than the first. Should have thought about
double-checking.
-------------- next part --------------
From bccdc7d72cc1ea8a0d2aa04acf86e0afd2a3d6b5 Mon Sep 17 00:00:00 2001
From: Mingye Wang <arthur200126@gmail.com>
Date: Wed, 21 Jun 2023 20:11:57 +0800
Subject: [PATCH] Make SIG2STR_MAX usable in #if
The text accepted for POSIX issue 8 requires that SIG2STR_MAX be usable
in #if, which we currently break with sizeof. Use static values instead.
---
newlib/libc/include/sys/signal.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/newlib/libc/include/sys/signal.h b/newlib/libc/include/sys/signal.h
index 8dc5fb9c34..96bf9781ae 100644
--- a/newlib/libc/include/sys/signal.h
+++ b/newlib/libc/include/sys/signal.h
@@ -245,9 +245,9 @@ int sigqueue (pid_t, int, const union sigval);
/* POSIX Issue 8 adds sig2str() and str2sig() */
#if __SIZEOF_INT__ >= 4
-#define SIG2STR_MAX (sizeof("RTMAX+") + sizeof("4294967295") - 1)
+#define SIG2STR_MAX 17 /* (sizeof("RTMAX+") + sizeof("4294967295") - 1) */
#else
-#define SIG2STR_MAX (sizeof("RTMAX+") + sizeof("65535") - 1)
+#define SIG2STR_MAX 12 /* (sizeof("RTMAX+") + sizeof("65535") - 1) */
#endif
int sig2str(int, char *);
More information about the Newlib
mailing list