diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | iconv/gconv_trans.c | 10 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/Versions | 7 |
3 files changed, 23 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 36091ffc22..321172a68c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2005-12-27 Jakub Jelinek <jakub@redhat.com> + + * iconv/gconv_trans.c (__gconv_transliterate): Demangle step __fct + before calling it. + +2005-12-27 David S. Miller <davem@sunset.davemloft.net> + + * sysdeps/unix/sysv/linux/sparc/Versions: Add new errlist-compat + entry for up to 134 errnos. + 2005-12-26 Ulrich Drepper <drepper@redhat.com> * Versions.def: Add GLIBC_2.4 for libpthread. diff --git a/iconv/gconv_trans.c b/iconv/gconv_trans.c index e54c18490f..9e04e64ee2 100644 --- a/iconv/gconv_trans.c +++ b/iconv/gconv_trans.c @@ -54,6 +54,12 @@ __gconv_transliterate (struct __gconv_step *step, winbuf = (const uint32_t *) *inbufp; winbufend = (const uint32_t *) inbufend; + __gconv_fct fct = step->__fct; +#ifdef PTR_DEMANGLE + if (step->__shlib_handle != NULL) + PTR_DEMANGLE (fct); +#endif + /* If there is no transliteration information in the locale don't do anything and return the error. */ size = _NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_TRANSLIT_TAB_SIZE); @@ -119,7 +125,7 @@ __gconv_transliterate (struct __gconv_step *step, /* Try this input text. */ toinptr = (const unsigned char *) &to_tbl[idx2]; outptr = *outbufstart; - res = DL_CALL_FCT (step->__fct, + res = DL_CALL_FCT (fct, (step, step_data, &toinptr, (const unsigned char *) &to_tbl[idx2 + len], &outptr, NULL, 0, 0)); @@ -204,7 +210,7 @@ __gconv_transliterate (struct __gconv_step *step, ? __GCONV_EMPTY_INPUT : __GCONV_INCOMPLETE_INPUT); outptr = *outbufstart; - res = DL_CALL_FCT (step->__fct, + res = DL_CALL_FCT (fct, (step, step_data, &toinptr, (const unsigned char *) (default_missing + len), &outptr, NULL, 0, 0)); diff --git a/sysdeps/unix/sysv/linux/sparc/Versions b/sysdeps/unix/sysv/linux/sparc/Versions index 03d1d87176..be3d2b96c2 100644 --- a/sysdeps/unix/sysv/linux/sparc/Versions +++ b/sysdeps/unix/sysv/linux/sparc/Versions @@ -1,8 +1,7 @@ libc { # The comment lines with "#errlist-compat" are magic; see errlist-compat.awk. # When you get an error from errlist-compat.awk, you need to add a new - # version here. Don't do this blindly, since this means changing the ABI - # for all GNU/Linux configurations. + # version here. GLIBC_2.0 { #errlist-compat 127 @@ -16,6 +15,10 @@ libc { #errlist-compat 128 _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; } + GLIBC_2.4 { + #errlist-compat 134 + _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; + } } librt { GLIBC_2.3 { |