aboutsummaryrefslogtreecommitdiff
path: root/libio
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2014-09-12 09:17:32 +0200
committerFlorian Weimer <fweimer@redhat.com>2014-09-12 09:17:32 +0200
commitba7b4d294b01870ce3497971e9d07ee261cdc540 (patch)
treef68e63afa5218a87f37c98c45ce8d7f62ec81bb0 /libio
parent5379aebddd0a35c052e7149fb4ff88b49676516e (diff)
downloadglibc-ba7b4d294b01870ce3497971e9d07ee261cdc540.zip
glibc-ba7b4d294b01870ce3497971e9d07ee261cdc540.tar.gz
glibc-ba7b4d294b01870ce3497971e9d07ee261cdc540.tar.bz2
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.
Diffstat (limited to 'libio')
-rw-r--r--libio/fileops.c9
-rw-r--r--libio/iofwide.c18
2 files changed, 4 insertions, 23 deletions
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