1629 |
|
|
1630 |
if (nconv == (size_t) -1) |
if (nconv == (size_t) -1) |
1631 |
{ |
{ |
1632 |
/* Conversion didn't work out. */ |
/* Conversion is not completed, look for recoverable |
1633 |
if (saved_err == EINVAL) |
errors. */ |
1634 |
|
#define UNICODE_REPLACEMENT_CHARACTER ((wchar_t) 0xfffd) |
1635 |
|
if (saved_err == EILSEQ) |
1636 |
|
{ |
1637 |
|
assert (*length); |
1638 |
|
(*length)--; |
1639 |
|
(*buffer)++; |
1640 |
|
display_output_one (display, UNICODE_REPLACEMENT_CHARACTER); |
1641 |
|
} |
1642 |
|
else if (saved_err == EINVAL) |
1643 |
/* This is only an unfinished byte sequence at the end of |
/* This is only an unfinished byte sequence at the end of |
1644 |
the input buffer. */ |
the input buffer. */ |
1645 |
break; |
break; |