X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fstrtoumax.c;h=dc395d626ab5c5437d60df0cb796c15765d5aedb;hb=24cebf8e1761a832328407b7291b78300cd34477;hp=26d28ff36f74577e1736de195a926c9ce3ad334e;hpb=59660f86d2a1dd4f248cde28e04b1b0938d42a7c;p=gnulib.git diff --git a/lib/strtoumax.c b/lib/strtoumax.c index 26d28ff36..dc395d626 100644 --- a/lib/strtoumax.c +++ b/lib/strtoumax.c @@ -1,58 +1,2 @@ -/* Convert string representation of a number into an uintmax_t value. - Copyright 1999 Free Software Foundation, Inc. - - This program 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 2, or (at your option) - any later version. - - This program 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, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* Written by Paul Eggert. */ - -#if HAVE_CONFIG_H -# include -#endif - -#if HAVE_INTTYPES_H -# include -#endif - -#if HAVE_STDLIB_H -# include -#endif - -#ifndef PARAMS -# if defined PROTOTYPES || defined __STDC__ -# define PARAMS(Args) Args -# else -# define PARAMS(Args) () -# endif -#endif - -#if HAVE_UNSIGNED_LONG_LONG && ! HAVE_STRTOULL - unsigned long long strtoull PARAMS ((char const *, char **, int)); -#endif - -uintmax_t -strtoumax (char const *ptr, char **endptr, int base) -{ -#define USE_IF_EQUIVALENT(function) \ - if (sizeof (uintmax_t) == sizeof function (ptr, endptr, base)) \ - return function (ptr, endptr, base); - -#if HAVE_UNSIGNED_LONG_LONG - USE_IF_EQUIVALENT (strtoull) -#endif - - USE_IF_EQUIVALENT (strtoul) - - abort (); -} +#define UNSIGNED 1 +#include "strtoimax.c"