mirror of git://sourceware.org/git/glibc.git
Update.
1999-03-03 Ulrich Drepper <drepper@cygnus.com> * wcsmbs/wcsmbsload.c (add_slashes): Rename to norm_add_slashes and fold string to uppercase [PR libc/1005].
This commit is contained in:
parent
d52852dacd
commit
e4d0709f6d
|
|
@ -1,3 +1,8 @@
|
||||||
|
1999-03-03 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
* wcsmbs/wcsmbsload.c (add_slashes): Rename to norm_add_slashes
|
||||||
|
and fold string to uppercase [PR libc/1005].
|
||||||
|
|
||||||
1999-03-03 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
1999-03-03 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||||
|
|
||||||
* elf/dl-load.c (lose): Fix return type.
|
* elf/dl-load.c (lose): Fix return type.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (C) 1998 Free Software Foundation, Inc.
|
/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
|
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
|
||||||
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
Boston, MA 02111-1307, USA. */
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
#include <ctype.h>
|
||||||
#include <langinfo.h>
|
#include <langinfo.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
@ -111,7 +112,7 @@ getfct (const char *to, const char *from)
|
||||||
|
|
||||||
/* The gconv functions expects the name to be complete, including the
|
/* The gconv functions expects the name to be complete, including the
|
||||||
trailing shashes if necessary. */
|
trailing shashes if necessary. */
|
||||||
#define add_slashes(str) \
|
#define norm_add_slashes(str) \
|
||||||
({ \
|
({ \
|
||||||
const char *cp = str; \
|
const char *cp = str; \
|
||||||
char *result; \
|
char *result; \
|
||||||
|
|
@ -122,8 +123,10 @@ getfct (const char *to, const char *from)
|
||||||
if (*cp++ == '/') \
|
if (*cp++ == '/') \
|
||||||
++cnt; \
|
++cnt; \
|
||||||
\
|
\
|
||||||
result = alloca (cp - str + 3); \
|
tmp = result = alloca (cp - str + 3); \
|
||||||
tmp = __mempcpy (result, str, cp - str); \
|
cp = str; \
|
||||||
|
while (*cp != '\0') \
|
||||||
|
*tmp++ = _toupper (*cp++); \
|
||||||
if (cnt < 2) \
|
if (cnt < 2) \
|
||||||
{ \
|
{ \
|
||||||
*tmp++ = '/'; \
|
*tmp++ = '/'; \
|
||||||
|
|
@ -171,8 +174,9 @@ __wcsmbs_load_conv (const struct locale_data *new_category)
|
||||||
charset_name =
|
charset_name =
|
||||||
new_category->values[_NL_ITEM_INDEX(CODESET)].string;
|
new_category->values[_NL_ITEM_INDEX(CODESET)].string;
|
||||||
|
|
||||||
/* Add the slashes necessary for a complete lookup. */
|
/* Normalize the name and add the slashes necessary for a
|
||||||
complete_name = add_slashes (charset_name);
|
complete lookup. */
|
||||||
|
complete_name = norm_add_slashes (charset_name);
|
||||||
|
|
||||||
__wcsmbs_gconv_fcts.tomb = getfct (complete_name, "INTERNAL");
|
__wcsmbs_gconv_fcts.tomb = getfct (complete_name, "INTERNAL");
|
||||||
__wcsmbs_gconv_fcts.towc = getfct ("INTERNAL", complete_name);
|
__wcsmbs_gconv_fcts.towc = getfct ("INTERNAL", complete_name);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue