summaryrefslogtreecommitdiff
path: root/compat/strsignal.c
diff options
context:
space:
mode:
Diffstat (limited to 'compat/strsignal.c')
-rw-r--r--compat/strsignal.c121
1 files changed, 121 insertions, 0 deletions
diff --git a/compat/strsignal.c b/compat/strsignal.c
new file mode 100644
index 0000000..cb92550
--- /dev/null
+++ b/compat/strsignal.c
@@ -0,0 +1,121 @@
+
+/**
+ * \file strsignal.c
+ *
+ * Time-stamp: "2010-07-16 15:12:27 bkorb"
+ *
+ * This file is part of AutoGen.
+ *
+ * AutoGen Copyright (c) 1992-2012 by Bruce Korb - all rights reserved
+ *
+ * AutoGen is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * AutoGen is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * As a special exception, Bruce Korb gives permission for additional
+ * uses of the text contained in the release of strsignal.
+ *
+ * The exception is that, if you link the strsignal library with other
+ * files to produce an executable, this does not by itself cause the
+ * resulting executable to be covered by the GNU General Public License.
+ * Your use of that executable is in no way restricted on account of
+ * linking the strsignal library code into it.
+ *
+ * This exception does not however invalidate any other reasons why
+ * the executable file might be covered by the GNU General Public License.
+ *
+ * This exception applies only to the code released by Bruce Korb under
+ * the name strsignal. If you copy code from other sources under the
+ * General Public License into a copy of strsignal, as the General Public
+ * License permits, the exception does not apply to the code that you add
+ * in this way. To avoid misleading anyone as to the status of such
+ * modified files, you must delete this exception notice from them.
+ *
+ * If you write modifications of your own for strsignal, it is your choice
+ * whether to permit this exception to apply to your modifications.
+ * If you do not wish that, delete this exception notice.
+ */
+
+#include "compat.h"
+
+/* Routines imported from standard C runtime libraries. */
+
+#if ! defined(HAVE_STRSIGNAL)
+
+#ifdef __STDC__
+# include <stddef.h>
+#else /* !__STDC__ */
+# ifndef const
+# define const
+# endif
+#endif /* __STDC__ */
+
+#ifdef HAVE_SYS_SIGLIST
+# include <signal.h>
+#endif
+
+/*
+ * Import the generated tables
+ */
+#include "strsignal.h"
+#endif
+
+#ifndef HAVE_STRSIGNAL
+
+/*
+
+NAME
+
+ strsignal -- map a signal number to a signal message string
+
+SYNOPSIS
+
+ char *strsignal (int signo)
+
+DESCRIPTION
+
+ Maps an signal number to an signal message string, the contents of
+ which are implementation defined. On systems which have the external
+ variable sys_siglist, these strings will be the same as the ones used
+ by psignal().
+
+ If the supplied signal number is within the valid range of indices
+ for the sys_siglist, but no message is available for the particular
+ signal number, then returns the string "Signal NUM", where NUM is the
+ signal number.
+
+ If the supplied signal number is not a valid index into sys_siglist,
+ returns NULL.
+
+ The returned string is only guaranteed to be valid only until the
+ next call to strsignal.
+
+ Also, though not declared "const", it is.
+*/
+
+char *
+strsignal( int signo )
+{
+ if (SIGNAL_IN_RANGE( signo ))
+ return (char*)SIGNAL_INFO( signo );
+
+ return NULL;
+}
+#endif /* HAVE_STRSIGNAL */
+
+/*
+ * Local Variables:
+ * mode: C
+ * c-file-style: "stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * end of compat/strsignal.c */