fix escan issue in copyless mode;
This commit is contained in:
parent
4850357dc4
commit
4f868b705b
3
ndbuf.c
3
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)) {
|
if(__is_moless(fo)) {
|
||||||
*d._cstr = b->raw + b->curr;
|
*d._cstr = b->raw + b->curr;
|
||||||
|
b->curr += clen;
|
||||||
} else {
|
} else {
|
||||||
if(__is_usermo(fo)) *d._cstr = b->mop->alloc(clen + sizeof(char));
|
if(__is_usermo(fo)) *d._cstr = b->mop->alloc(clen + sizeof(char));
|
||||||
else *d._cstr = malloc(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)) {
|
if(__is_moless(fo)) {
|
||||||
*d._dp = b->raw + b->curr;
|
*d._dp = b->raw + b->curr;
|
||||||
|
b->curr += clen;
|
||||||
} else {
|
} else {
|
||||||
if(__is_usermo(fo)) *d._dp = b->mop->alloc(clen);
|
if(__is_usermo(fo)) *d._dp = b->mop->alloc(clen);
|
||||||
else *d._dp = malloc(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)) {
|
if(__is_moless(fo)) {
|
||||||
*d._dp = b->raw + b->curr;
|
*d._dp = b->raw + b->curr;
|
||||||
|
b->curr += clen;
|
||||||
} else {
|
} else {
|
||||||
if(__is_usermo(fo)) *d._dp = b->mop->alloc(clen);
|
if(__is_usermo(fo)) *d._dp = b->mop->alloc(clen);
|
||||||
else *d._dp = malloc(clen);
|
else *d._dp = malloc(clen);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user