Colin Watson wrote:
> I use strsignal in man-db, and would like a Gnulib module to cope with
> its portability problems.
You fixed the first portability problem: the function is missing on some
platforms. But there is another one.
I want to use the replacement in GNU clisp, so I did "man strsignal", and it
says:
"On some systems (but not on Linux), a NULL pointer may be returned
instead for an invalid signal number."
And it's even worse than that: for negative or out-of-range signal numbers,
* Solaris strsignal returns NULL,
* AIX 5.1 strsignal returns (char*)(-1) !
As a user of this function, I don't want to special case these return values.
The function should always return a reasonable pointer.
So I propose to change the module so that, on these two platforms, it
overrides the system function. Do you agree? May I do this? Do you want to
do it?
Bruno
======================= Small test program ====================
#define _GNU_SOURCE 1
#include <stdio.h>
#include <string.h>
int main ()
{
printf ("%s\n", strsignal (3));
printf ("%s\n", strsignal (-13));
printf ("%s\n", strsignal (21381283));
return 0;
}