[PATCHv2] Make SIG2STR_MAX usable in #if

Corinna Vinschen vinschen@redhat.com
Wed Jun 21 13:20:34 GMT 2023


On Jun 21 20:13, Mingye Wang wrote:
> > 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.

> 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 *);

Pushed.


Thanks,
Corinna



More information about the Newlib mailing list