X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fstrverscmp.c;h=f917f304cd268e428595d5250e827fa337954345;hb=e53a2bd78108425dc9dbf17b1aeece189f729068;hp=6276bca0fa9c07547a31b0e8415c53d5c3fda8f4;hpb=222b0486b7db1b09293e05512873d633440efcb3;p=gnulib.git diff --git a/lib/strverscmp.c b/lib/strverscmp.c index 6276bca0f..f917f304c 100644 --- a/lib/strverscmp.c +++ b/lib/strverscmp.c @@ -1,5 +1,6 @@ /* Compare strings while treating digits characters numerically. - Copyright (C) 1997, 2000, 2002, 2004 Free Software Foundation, Inc. + Copyright (C) 1997, 2000, 2002, 2004, 2006, 2009-2013 Free Software + Foundation, Inc. This file is part of the GNU C Library. Contributed by Jean-François Bignolles , 1997. @@ -14,10 +15,9 @@ 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + with this program; if not, see . */ -#ifdef HAVE_CONFIG_H +#if !_LIBC # include #endif @@ -37,12 +37,12 @@ /* ISDIGIT differs from isdigit, as follows: - - Its arg may be any int or unsigned int; it need not be an unsigned char. - - It's guaranteed to evaluate its argument exactly once. + - Its arg may be any int or unsigned int; it need not be an unsigned char + or EOF. - It's typically faster. POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to - ISDIGIT_LOCALE unless it's important to use the locale's definition - of `digit' even when the host does not conform to POSIX. */ + isdigit unless it's important to use the locale's definition + of "digit" even when the host does not conform to POSIX. */ #define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) #undef __strverscmp @@ -117,8 +117,8 @@ __strverscmp (const char *s1, const char *s2) case LEN: while (ISDIGIT (*p1++)) - if (!ISDIGIT (*p2++)) - return 1; + if (!ISDIGIT (*p2++)) + return 1; return ISDIGIT (*p2) ? -1 : diff;