diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-08-25 22:13:09 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-08-25 22:13:09 +0000 |
commit | b572c2da318d45e89bec5425692be84a2ac27ed4 (patch) | |
tree | 2a71538bcc87638e30a7b6f47092a2a3645c5cb3 /iconv/loop.c | |
parent | 0cdb4983fc3d3b97bebf8c466bdef6226b610996 (diff) | |
download | glibc-b572c2da318d45e89bec5425692be84a2ac27ed4.tar.gz |
Update.
2000-08-25 Ulrich Drepper <drepper@redhat.com>
* locales/i18n (default_missing): Change back to only U003F.
Diffstat (limited to 'iconv/loop.c')
-rw-r--r-- | iconv/loop.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/iconv/loop.c b/iconv/loop.c index 9d168d84e9..3a2779ed4a 100644 --- a/iconv/loop.c +++ b/iconv/loop.c @@ -170,7 +170,8 @@ /* To make it easier for the writers of the modules, we define a macro to test whether we have to ignore errors. */ -#define ignore_errors_p() (flags & __GCONV_IGNORE_ERRORS) +#define ignore_errors_p() \ + (irreversible != NULL && (flags & __GCONV_IGNORE_ERRORS)) /* Error handling with transliteration/transcription function use and @@ -181,6 +182,12 @@ struct __gconv_trans_data *trans; \ \ result = __GCONV_ILLEGAL_INPUT; \ + \ + if (irreversible == NULL) \ + /* This means we are in call from __gconv_transliterate. In this \ + case we are not doing any error recovery outself. */ \ + break; \ + \ /* First try the transliteration methods. */ \ for (trans = step_data->__trans; trans != NULL; trans = trans->__next) \ { \ @@ -197,7 +204,7 @@ /* Next see whether we have to ignore the error. If not, stop. */ \ if (! ignore_errors_p ()) \ break; \ - \ + \ /* When we come here it means we ignore the character. */ \ ++*irreversible; \ inptr += Incr; \ |