[PATCH] lib/fold: Handle extra mbrtowc return case

Samuel Mendoza-Jonas sam.mj at au1.ibm.com
Thu Aug 20 16:37:37 AEST 2015


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 <sam.mj at au1.ibm.com>
---
 lib/fold/fold.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

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;
 		}
-- 
2.5.0



More information about the Petitboot mailing list