X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fstrverscmp.c;h=be527a750d2d4d491929724e1b7a497ec210a601;hb=ce38c27828c6a3286e99e312d50fe140a1ec334b;hp=900c637dd10ab509b809ecde9533552a9cff0cea;hpb=267a39bafd249d7eb9c37df06dc6defcf41cb343;p=gnulib.git diff --git a/lib/strverscmp.c b/lib/strverscmp.c index 900c637dd..be527a750 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-2011 Free Software + Foundation, Inc. This file is part of the GNU C Library. Contributed by Jean-François Bignolles , 1997. @@ -17,7 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#if HAVE_CONFIG_H +#if !_LIBC # include #endif @@ -37,11 +38,11 @@ /* 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 + 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) @@ -117,8 +118,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;