summaryrefslogtreecommitdiff
path: root/iconv
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-12-20 18:05:57 +0000
committerJakub Jelinek <jakub@redhat.com>2005-12-20 18:05:57 +0000
commit2bf037b4e8e189e910a41744d79404b94235ab8b (patch)
treeec0234c3f56396c982e3ed5a77780423502a111f /iconv
parent20a911071d1cfaf7d20d088efe9ede27c5809c09 (diff)
Updated to fedora-glibc-20051220T1751cvs/fedora-glibc-2_3_90-21
Diffstat (limited to 'iconv')
-rw-r--r--iconv/gconv_cache.c15
-rw-r--r--iconv/gconv_conf.c4
-rw-r--r--iconv/gconv_open.c5
3 files changed, 18 insertions, 6 deletions
diff --git a/iconv/gconv_cache.c b/iconv/gconv_cache.c
index 9b695c377d..9a8a20816c 100644
--- a/iconv/gconv_cache.c
+++ b/iconv/gconv_cache.c
@@ -1,5 +1,5 @@
/* Cache handling for iconv modules.
- Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 2001.
@@ -209,7 +209,18 @@ find_module (const char *directory, const char *filename,
/* Call the init function. */
if (result->__init_fct != NULL)
- status = DL_CALL_FCT (result->__init_fct, (result));
+ {
+ __gconv_init_fct init_fct = result->__init_fct;
+#ifdef PTR_DEMANGLE
+ PTR_DEMANGLE (init_fct);
+#endif
+ status = DL_CALL_FCT (init_fct, (result));
+
+#ifdef PTR_MANGLE
+ if (result->__btowc_fct != NULL)
+ PTR_MANGLE (result->__btowc_fct);
+#endif
+ }
}
return status;
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
index 858d40998b..37179518ba 100644
--- a/iconv/gconv_conf.c
+++ b/iconv/gconv_conf.c
@@ -1,5 +1,5 @@
/* Handle configuration data.
- Copyright (C) 1997,98,99,2000,2001,2002,2003 Free Software Foundation, Inc.
+ Copyright (C) 1997-2003, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -78,7 +78,7 @@ static struct gconv_module builtin_modules[] =
#undef BUILTIN_ALIAS
};
-static const char *builtin_aliases[] =
+static const char *const builtin_aliases[] =
{
#define BUILTIN_TRANSFORMATION(From, To, Cost, Name, Fct, BtowcFct, \
MinF, MaxF, MinT, MaxT)
diff --git a/iconv/gconv_open.c b/iconv/gconv_open.c
index b23ab44e4e..95f3203394 100644
--- a/iconv/gconv_open.c
+++ b/iconv/gconv_open.c
@@ -71,7 +71,8 @@ __gconv_open (const char *toset, const char *fromset, __gconv_t *handle,
{
/* It's the builtin transliteration handling. We only
support it for working on the internal encoding. */
- static const char *internal_trans_names[1] = { "INTERNAL" };
+ static const char *const internal_trans_names[1]
+ = { "INTERNAL" };
struct trans_struct *lastp = NULL;
struct trans_struct *runp;
@@ -90,7 +91,7 @@ __gconv_open (const char *toset, const char *fromset, __gconv_t *handle,
/* We leave the `name' field zero to signal that
this is an internal transliteration step. */
- newp->csnames = internal_trans_names;
+ newp->csnames = (const char **) internal_trans_names;
newp->ncsnames = 1;
newp->trans_fct = __gconv_transliterate;