about summary refs log tree commit diff
path: root/libio
diff options
context:
space:
mode:
Diffstat (limited to 'libio')
-rw-r--r--libio/iofwide.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/libio/iofwide.c b/libio/iofwide.c
index c0ee083029..ae4f63f454 100644
--- a/libio/iofwide.c
+++ b/libio/iofwide.c
@@ -35,6 +35,7 @@
 # include <langinfo.h>
 # include <locale/localeinfo.h>
 # include <wcsmbs/wcsmbsload.h>
+# include <iconv/gconv_int.h>
 #endif
 
 
@@ -76,6 +77,12 @@ struct _IO_codecvt __libio_codecvt =
 };
 
 
+static struct __gconv_trans_data libio_translit =
+{
+  .__trans_fct = __gconv_transliterate
+};
+
+
 /* Return orientation of stream.  If mode is nonzero try to change
    the orientation first.  */
 #undef _IO_fwide
@@ -134,7 +141,7 @@ _IO_fwide (fp, mode)
 	cc->__cd_out.__cd.__data[0].__statep = &fp->_wide_data->_IO_state;
 
 	/* XXX For now no transliteration.  */
-	cc->__cd_out.__cd.__data[0].__trans = NULL;
+	cc->__cd_out.__cd.__data[0].__trans = &libio_translit;
       }
 #else
 # error "somehow determine this from LC_CTYPE"