Mercurial > hg > octave-kai > gnulib-hg
annotate lib/sig2str.h @ 5691:ec62790f0938
Factor int-properties macros into a single file, except for
glibc-related files.
* lib/intprops.h: New file.
* lib/getloadavg.c: Include it instead of limits.h.
(INT_STRLEN_BOUND): Remove.
* lib/human.c: Include intprops.h.
(group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
* lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than 302/1000.
* lib/inttostr.h: Include intprops.h instead of limits.h.
(INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
* lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
for consistency with intprops.h.
(time_t_is_integer, twos_complement_arithmetic): Use them.
* lib/sig2str.h: Include <signal.h>, intprops.h.
(INT_STRLEN_BOUND): Remove.
* lib/strftime.c (TYPE_SIGNED): Remove.
(INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
* lib/strtol.c: Adjust comments to match intprops.h.
* lib/userspec.c: Include intprops.h.
(TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
* lib/utimecmp.c, lib/xnanosleep.c, lib/xstrtol.c: Likewise.
* lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
instead of rolling our own expressions.
* lib/xstrtol.c: Include xstrtol.h first, to test interface.
* modules/getloadavg (Files): Add lib/intprops.h.
* modules/human (Files): Likewise.
* modules/inttostr (Files): Likewise.
* modules/sig2str (Files): Likewise.
* modules/userspec (Files): Likewise.
* modules/utimecmp (Files): Likewise.
* modules/xnanosleep (Files): Likewise.
* modules/xstrtol (Files): Likewise.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Wed, 09 Mar 2005 19:11:23 +0000 |
parents | 68803dccd533 |
children | a48fb0e98c8c |
rev | line source |
---|---|
3821 | 1 /* sig2str.h -- convert between signal names and numbers |
2 | |
5691
ec62790f0938
Factor int-properties macros into a single file, except for
Paul Eggert <eggert@cs.ucla.edu>
parents:
3831
diff
changeset
|
3 Copyright (C) 2002, 2005 Free Software Foundation, Inc. |
3821 | 4 |
5 This program is free software; you can redistribute it and/or modify | |
6 it under the terms of the GNU General Public License as published by | |
7 the Free Software Foundation; either version 2, or (at your option) | |
8 any later version. | |
9 | |
10 This program is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 GNU General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU General Public License | |
16 along with this program; if not, write to the Free Software Foundation, | |
17 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | |
18 | |
19 /* Written by Paul Eggert. */ | |
20 | |
5691
ec62790f0938
Factor int-properties macros into a single file, except for
Paul Eggert <eggert@cs.ucla.edu>
parents:
3831
diff
changeset
|
21 #include <signal.h> |
3821 | 22 |
23 /* Don't override system declarations of SIG2STR_MAX, sig2str, str2sig. */ | |
24 #ifndef SIG2STR_MAX | |
25 | |
5691
ec62790f0938
Factor int-properties macros into a single file, except for
Paul Eggert <eggert@cs.ucla.edu>
parents:
3831
diff
changeset
|
26 # include "intprops.h" |
3821 | 27 |
28 /* Size of a buffer needed to hold a signal name like "HUP". */ | |
29 # define SIG2STR_MAX (sizeof "SIGRTMAX" + INT_STRLEN_BOUND (int) - 1) | |
30 | |
31 int sig2str (int, char *); | |
32 int str2sig (char const *, int *); | |
33 | |
34 #endif | |
35 | |
36 /* An upper bound on signal numbers allowed by the system. */ | |
37 | |
38 #if defined _sys_nsig | |
39 # define SIGNUM_BOUND (_sys_nsig - 1) | |
40 #elif defined NSIG | |
41 # define SIGNUM_BOUND (NSIG - 1) | |
42 #else | |
3831
68803dccd533
(SIGNUM_BOUND): Do not use WTERMSIG, to avoid
Jim Meyering <jim@meyering.net>
parents:
3821
diff
changeset
|
43 # define SIGNUM_BOUND 64 |
3821 | 44 #endif |