Use strcasecmp_l instead of strcasecmp

This commit is contained in:
Ulrich Drepper 2011-11-08 09:26:08 -05:00
parent fe72eebd67
commit 5f078c3286
3 changed files with 7 additions and 3 deletions

View file

@ -1,5 +1,8 @@
2011-11-08 Ulrich Drepper <drepper@gmail.com>
* locale/findlocale.c (_nl_find_locale): Use __strcasecmp_l.
* intl/localealias.c (strcasecmp): Define using __strcasecmp_l.
* sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Remove unnecessary
instructions.

View file

@ -1,5 +1,5 @@
/* Handle aliases for locale names.
Copyright (C) 1995-2002, 2003, 2005 Free Software Foundation, Inc.
Copyright (C) 1995-2002, 2003, 2005, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -64,7 +64,7 @@ char *alloca ();
/* Rename the non ANSI C functions. This is required by the standard
because some ANSI C functions will require linking with this object
file and the name space must not be polluted. */
# define strcasecmp __strcasecmp
# define strcasecmp(s1, s2) __strcasecmp_l (s1, s2, _nl_C_locobj_ptr)
# ifndef mempcpy
# define mempcpy __mempcpy

View file

@ -258,7 +258,8 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
}
/* Determine whether the user wants transliteration or not. */
if (modifier != NULL && __strcasecmp (modifier, "TRANSLIT") == 0)
if (modifier != NULL
&& __strcasecmp_l (modifier, "TRANSLIT", _nl_C_locobj_ptr) == 0)
((struct __locale_data *) locale_file->data)->use_translit = 1;
/* Increment the usage count. */