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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3821
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
1 /* sig2str.h -- convert between signal names and numbers
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
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
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
4
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
5 This program is free software; you can redistribute it and/or modify
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
6 it under the terms of the GNU General Public License as published by
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
7 the Free Software Foundation; either version 2, or (at your option)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
8 any later version.
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
9
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
10 This program is distributed in the hope that it will be useful,
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
13 GNU General Public License for more details.
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
14
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
15 You should have received a copy of the GNU General Public License
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
16 along with this program; if not, write to the Free Software Foundation,
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
17 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
18
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
19 /* Written by Paul Eggert. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
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
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
22
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
23 /* Don't override system declarations of SIG2STR_MAX, sig2str, str2sig. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
24 #ifndef SIG2STR_MAX
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
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
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
27
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
28 /* Size of a buffer needed to hold a signal name like "HUP". */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
29 # define SIG2STR_MAX (sizeof "SIGRTMAX" + INT_STRLEN_BOUND (int) - 1)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
30
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
31 int sig2str (int, char *);
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
32 int str2sig (char const *, int *);
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
33
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
34 #endif
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
35
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
36 /* An upper bound on signal numbers allowed by the system. */
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
37
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
38 #if defined _sys_nsig
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
39 # define SIGNUM_BOUND (_sys_nsig - 1)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
40 #elif defined NSIG
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
41 # define SIGNUM_BOUND (NSIG - 1)
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
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
22b17205df86 New file: from Paul Eggert.
Jim Meyering <jim@meyering.net>
parents:
diff changeset
44 #endif