From: Samuel Mendoza-Jonas Date: Thu, 20 Aug 2015 06:32:25 +0000 (+1000) Subject: lib/fold: Handle extra mbrtowc return case X-Git-Tag: v1.0.0~61 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=9818a3cd88578ffadb4ff3f5562e468e3b4b6f95;ds=sidebyside lib/fold: Handle extra mbrtowc return case Commit 9781a370 ("Handle mblen return code when n is zero.") in glibc changes the return value for when the number of bytes ('n') is zero. Add an extra condition to detect if we've reached the end of the buffer. Signed-off-by: Samuel Mendoza-Jonas --- diff --git a/lib/fold/fold.c b/lib/fold/fold.c index fd23b06..2566253 100644 --- a/lib/fold/fold.c +++ b/lib/fold/fold.c @@ -36,8 +36,9 @@ void fold_text(const char *text, assert(bytes != (size_t)-1); - /* we'll get a zero size for the nul terminator */ - if (!bytes) { + /* we'll get a zero size for the nul terminator, or (size_t) -2 + * if we've reached the end of the buffer */ + if (!bytes || bytes == (size_t) -2) { line_cb(arg, start, end - start); break; }