X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=lib%2Ffold%2Ffold.c;h=2566253aca8de697149d2c17477eb26ba14b455a;hp=8bf133c8b34a9e0e37762eda8122dce4ac210141;hb=9818a3cd88578ffadb4ff3f5562e468e3b4b6f95;hpb=3aef1b6d1f465596ebf7883a50efcf4d6f0ffcf4 diff --git a/lib/fold/fold.c b/lib/fold/fold.c index 8bf133c..2566253 100644 --- a/lib/fold/fold.c +++ b/lib/fold/fold.c @@ -34,10 +34,11 @@ void fold_text(const char *text, bytes = mbrtowc(&wc, end, len - (end - text), &ps); - assert(bytes >= 0); + 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; }