From ba7b4d294b01870ce3497971e9d07ee261cdc540 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Fri, 12 Sep 2014 09:17:32 +0200 Subject: Complete the removal of __gconv_translit_find Prior to the 2.20 release, the function was just changed to fail unconditionally, in commit a1a6a401ab0a3c9f15fb7eaebbdcee24192254e8. This commit removes the function completely, including gconv bits which depend on it. This changes the gconv ABI, which is not a public interface. --- libio/fileops.c | 9 ++------- libio/iofwide.c | 18 ++---------------- 2 files changed, 4 insertions(+), 23 deletions(-) (limited to 'libio') diff --git a/libio/fileops.c b/libio/fileops.c index 204cfea..e0d7b76 100644 --- a/libio/fileops.c +++ b/libio/fileops.c @@ -403,21 +403,16 @@ _IO_new_file_fopen (fp, filename, mode, is32not64) cc->__cd_in.__cd.__data[0].__flags = __GCONV_IS_LAST; cc->__cd_in.__cd.__data[0].__statep = &result->_wide_data->_IO_state; - /* XXX For now no transliteration. */ - cc->__cd_in.__cd.__data[0].__trans = NULL; - cc->__cd_out.__cd.__nsteps = fcts.tomb_nsteps; cc->__cd_out.__cd.__steps = fcts.tomb; cc->__cd_out.__cd.__data[0].__invocation_counter = 0; cc->__cd_out.__cd.__data[0].__internal_use = 1; - cc->__cd_out.__cd.__data[0].__flags = __GCONV_IS_LAST; + cc->__cd_out.__cd.__data[0].__flags + = __GCONV_IS_LAST | __GCONV_TRANSLIT; cc->__cd_out.__cd.__data[0].__statep = &result->_wide_data->_IO_state; - /* And now the transliteration. */ - cc->__cd_out.__cd.__data[0].__trans = &__libio_translit; - /* From now on use the wide character callback functions. */ ((struct _IO_FILE_plus *) fp)->vtable = fp->_wide_data->_wide_vtable; diff --git a/libio/iofwide.c b/libio/iofwide.c index 64187e4..ecf5819 100644 --- a/libio/iofwide.c +++ b/libio/iofwide.c @@ -81,14 +81,6 @@ const struct _IO_codecvt __libio_codecvt = }; -#ifdef _LIBC -const struct __gconv_trans_data __libio_translit attribute_hidden = -{ - .__trans_fct = __gconv_transliterate -}; -#endif - - /* Return orientation of stream. If mode is nonzero try to change the orientation first. */ #undef _IO_fwide @@ -146,20 +138,14 @@ _IO_fwide (fp, mode) cc->__cd_in.__cd.__data[0].__flags = __GCONV_IS_LAST; cc->__cd_in.__cd.__data[0].__statep = &fp->_wide_data->_IO_state; - /* XXX For now no transliteration. */ - cc->__cd_in.__cd.__data[0].__trans = NULL; - cc->__cd_out.__cd.__nsteps = fcts.tomb_nsteps; cc->__cd_out.__cd.__steps = fcts.tomb; cc->__cd_out.__cd.__data[0].__invocation_counter = 0; cc->__cd_out.__cd.__data[0].__internal_use = 1; - cc->__cd_out.__cd.__data[0].__flags = __GCONV_IS_LAST; + cc->__cd_out.__cd.__data[0].__flags + = __GCONV_IS_LAST | __GCONV_TRANSLIT; cc->__cd_out.__cd.__data[0].__statep = &fp->_wide_data->_IO_state; - - /* And now the transliteration. */ - cc->__cd_out.__cd.__data[0].__trans - = (struct __gconv_trans_data *) &__libio_translit; } #else # ifdef _GLIBCPP_USE_WCHAR_T -- cgit v1.1