/* We need to declare sys_siglist, because even if the system provides
it we can't assume that it is declared in <signal.h> (for example,
SunOS provides sys_siglist, but it does not declare it in any
- header file). fHowever, we can't declare sys_siglist portably,
+ header file). However, we can't declare sys_siglist portably,
because on some systems it is declared with const and on some
systems it is declared without const. If we were using autoconf,
we could work out the right declaration. Until, then we just
#ifndef HAVE_STRSIGNAL
-const char *
+char *
strsignal (int signo)
{
- const char *msg;
+ char *msg;
static char buf[32];
#ifndef HAVE_SYS_SIGLIST
{
/* In range, but no sys_siglist or no entry at this index. */
sprintf (buf, "Signal %d", signo);
- msg = (const char *) buf;
+ msg = buf;
}
else
{
- /* In range, and a valid message. Just return the message. */
- msg = (const char *) sys_siglist[signo];
+ /* In range, and a valid message. Just return the message. We
+ can safely cast away const, since POSIX says the user must
+ not modify the result. */
+ msg = (char *) sys_siglist[signo];
}
-
+
return (msg);
}
/*
-@deftypefn Supplemental void psignal (unsigned @var{signo}, char *@var{message})
+@deftypefn Supplemental void psignal (int @var{signo}, char *@var{message})
Print @var{message} to the standard error, followed by a colon,
followed by the description of the signal specified by @var{signo},
#ifndef HAVE_PSIGNAL
void
-psignal (unsigned signo, char *message)
+psignal (int signo, char *message)
{
if (signal_names == NULL)
{