+2009-09-28 Eric Blake <ebb9@byu.net>
+
+ argp: fix test failure
+ * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
+ that are not upper-case. Pass correct range to tolower.
+
2009-09-27 Jim Meyering <meyering@redhat.com>
test-yesno: work around sparc-dash here-document infelicity
/* Hierarchial argument parsing help output
- Copyright (C) 1995-2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-2005, 2007, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader <miles@gnu.ai.mit.edu>.
first, but as they're not displayed, it doesn't matter where
they are. */
{
- char first1 = short1 ? short1 : long1 ? *long1 : 0;
- char first2 = short2 ? short2 : long2 ? *long2 : 0;
-#ifdef _tolower
- int lower_cmp = _tolower (first1) - _tolower (first2);
-#else
+ unsigned char first1 = short1 ? short1 : long1 ? *long1 : 0;
+ unsigned char first2 = short2 ? short2 : long2 ? *long2 : 0;
+ /* Use tolower, not _tolower, since only the former is
+ guaranteed to work on something already lower case. */
int lower_cmp = tolower (first1) - tolower (first2);
-#endif
/* Compare ignoring case, except when the options are both the
same letter, in which case lower-case always comes first. */
return lower_cmp ? lower_cmp :