this is not an error because of the lack of possibilities to
represent the result. This is a genuine bug in the input since
UCS4 does not allow such values. */
+ if (irreversible == NULL)
+ /* We are transliterating, don't try to correct anything. */
+ return __GCONV_ILLEGAL_INPUT;
+
if (flags & __GCONV_IGNORE_ERRORS)
{
/* Just ignore this character. */
this is not an error because of the lack of possibilities to
represent the result. This is a genuine bug in the input since
UCS4 does not allow such values. */
+ if (irreversible == NULL)
+ /* We are transliterating, don't try to correct anything. */
+ return __GCONV_ILLEGAL_INPUT;
+
if (flags & __GCONV_IGNORE_ERRORS)
{
/* Just ignore this character. */
this is not an error because of the lack of possibilities to
represent the result. This is a genuine bug in the input since
UCS4 does not allow such values. */
+ if (irreversible == NULL)
+ /* We are transliterating, don't try to correct anything. */
+ return __GCONV_ILLEGAL_INPUT;
+
if (flags & __GCONV_IGNORE_ERRORS)
{
/* Just ignore this character. */
this is not an error because of the lack of possibilities to
represent the result. This is a genuine bug in the input since
UCS4 does not allow such values. */
+ if (irreversible == NULL)
+ /* We are transliterating, don't try to correct anything. */
+ return __GCONV_ILLEGAL_INPUT;
+
if (flags & __GCONV_IGNORE_ERRORS)
{
/* Just ignore this character. */
continue; \
} \
\
- if (__builtin_expect (inptr + cnt > inend, 0)) \
+ if (__builtin_expect (inptr + cnt > inend, 0)) \
{ \
/* We don't have enough input. But before we report that check \
that all the bytes are correct. */ \
break; \
} \
\
- /* This is an illegal character. */ \
if (ignore_errors_p ()) \
{ \
/* Ignore it. */ \