summaryrefslogtreecommitdiff
path: root/iconv/skeleton.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconv/skeleton.c')
-rw-r--r--iconv/skeleton.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/iconv/skeleton.c b/iconv/skeleton.c
index 8dbebb81ac..854cc70bee 100644
--- a/iconv/skeleton.c
+++ b/iconv/skeleton.c
@@ -379,6 +379,8 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
do
{
+ struct __gconv_trans_data *trans;
+
/* Remember the start value for this round. */
inptr = *inptrp;
/* The outbuf buffer is empty. */
@@ -429,10 +431,10 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
/* Give the transliteration module the chance to store the
original text and the result in case it needs a context. */
- if (data->__trans.__trans_context_fct != NULL)
- DL_CALL_FCT (data->__trans.__trans_context_fct,
- (data->__trans.__data, inptr, *inptrp,
- outstart, outbuf));
+ for (trans = data->__trans; trans != NULL; trans = trans->__next)
+ if (trans->__trans_context_fct != NULL)
+ DL_CALL_FCT (trans->__trans_context_fct,
+ (trans->__data, inptr, *inptrp, outstart, outbuf));
/* We finished one use of the loops. */
++data->__invocation_counter;