diff --git a/ndbuf.c b/ndbuf.c index 14b8a49..65fe06f 100644 --- a/ndbuf.c +++ b/ndbuf.c @@ -493,6 +493,7 @@ int ndbuf_escan_va(ndbuf_t *b, const char *fmt, int argc, va_list ap) if(__is_moless(fo)) { *d._cstr = b->raw + b->curr; + b->curr += clen; } else { if(__is_usermo(fo)) *d._cstr = b->mop->alloc(clen + sizeof(char)); else *d._cstr = malloc(clen + sizeof(char)); @@ -519,6 +520,7 @@ int ndbuf_escan_va(ndbuf_t *b, const char *fmt, int argc, va_list ap) if(__is_moless(fo)) { *d._dp = b->raw + b->curr; + b->curr += clen; } else { if(__is_usermo(fo)) *d._dp = b->mop->alloc(clen); else *d._dp = malloc(clen); @@ -546,6 +548,7 @@ int ndbuf_escan_va(ndbuf_t *b, const char *fmt, int argc, va_list ap) } if(__is_moless(fo)) { *d._dp = b->raw + b->curr; + b->curr += clen; } else { if(__is_usermo(fo)) *d._dp = b->mop->alloc(clen); else *d._dp = malloc(clen);