X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fstrverscmp.c;h=573e43391d62e05e5ce52f9a0c1c34266a31566d;hb=96f023c5e537dd4afbdb294de7065f65effe3eb2;hp=df4f5c08a99865907061f14ba66e624e1d3af0fa;hpb=4589d52c7c039b9d9c9d7bec075f00c9d57ee6e1;p=gnulib.git diff --git a/lib/strverscmp.c b/lib/strverscmp.c index df4f5c08a..573e43391 100644 --- a/lib/strverscmp.c +++ b/lib/strverscmp.c @@ -1,7 +1,8 @@ /* Compare strings while treating digits characters numerically. - Copyright (C) 1997, 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 1997, 2000, 2002, 2004, 2006, 2009-2012 Free Software + Foundation, Inc. This file is part of the GNU C Library. - Contributed by Jean-François Bignolles , 1997. + Contributed by Jean-François Bignolles , 1997. 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 @@ -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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + with this program; if not, see . */ -#if HAVE_CONFIG_H +#if !_LIBC # include #endif @@ -37,13 +37,13 @@ /* 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. */ -#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9) + 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 #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;