annotate lib/inttostr.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 d3dbed4f82b1
children a48fb0e98c8c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4983
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
1 /* inttostr.h -- convert integers to printable strings
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
2
5691
ec62790f0938 Factor int-properties macros into a single file, except for
Paul Eggert <eggert@cs.ucla.edu>
parents: 5003
diff changeset
3 Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
4983
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
4
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
5 This program is free software; you can redistribute it and/or modify
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
6 it under the terms of the GNU General Public License as published by
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
7 the Free Software Foundation; either version 2, or (at your option)
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
8 any later version.
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
9
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
10 This program is distributed in the hope that it will be useful,
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
13 GNU General Public License for more details.
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
14
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
15 You should have received a copy of the GNU General Public License
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
16 along with this program; if not, write to the Free Software Foundation,
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
17 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
18
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
19 /* Written by Paul Eggert */
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
20
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
21 #if HAVE_CONFIG_H
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
22 # include <config.h>
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
23 #endif
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
24
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
25 #if HAVE_INTTYPES_H
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
26 # include <inttypes.h>
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
27 #endif
5003
d3dbed4f82b1 * inttostr.h: Assume C89 for <limits.h> and CHAR_BIT.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4983
diff changeset
28 #if HAVE_STDINT_H
d3dbed4f82b1 * inttostr.h: Assume C89 for <limits.h> and CHAR_BIT.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4983
diff changeset
29 # include <stdint.h>
4983
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
30 #endif
5003
d3dbed4f82b1 * inttostr.h: Assume C89 for <limits.h> and CHAR_BIT.
Paul Eggert <eggert@cs.ucla.edu>
parents: 4983
diff changeset
31
4983
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
32 #if HAVE_SYS_TYPES_H
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
33 # include <sys/types.h>
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
34 #endif
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
35
5691
ec62790f0938 Factor int-properties macros into a single file, except for
Paul Eggert <eggert@cs.ucla.edu>
parents: 5003
diff changeset
36 #include "intprops.h"
4983
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
37
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
38 char *offtostr (off_t, char *);
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
39 char *imaxtostr (intmax_t, char *);
1ade121b7fb9 New module inttostr.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
40 char *umaxtostr (uintmax_t, char *);