summaryrefslogtreecommitdiffstats
path: root/unicode/unicode.c
diff options
context:
space:
mode:
Diffstat (limited to 'unicode/unicode.c')
-rw-r--r--unicode/unicode.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/unicode/unicode.c b/unicode/unicode.c
index 82d5c21..e320f9f 100644
--- a/unicode/unicode.c
+++ b/unicode/unicode.c
@@ -623,11 +623,15 @@ struct unicode_convert_fromimaputf7 {
/* Flush the accumulated UCS-2 stream */
#define convert_fromutf7_flush(p) do { \
- (p)->errflag=(*(p)->hdr.next->convert_handler) \
+ int rc=(*(p)->hdr.next->convert_handler) \
((p)->hdr.next->ptr, \
(const char *)(p)->convbuf, \
(p)->convbuf_cnt * \
sizeof((p)->convbuf[0])); \
+ \
+ if (rc) \
+ (p)->errflag=rc; \
+ \
(p)->convbuf_cnt=0; \
} while (0)