mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-16 10:39:49 +00:00
Merge pull request #3288 from cesanta/iobuf
fix iobuf shrink to less than current len
This commit is contained in:
3 files changed
+4
No files matched your search
@@ -2608,6 +2608,7 @@ int mg_iobuf_resize(struct mg_iobuf *io, size_t new_size) {
|
||||
mg_free(io->buf);
|
||||
io->buf = (unsigned char *) p;
|
||||
io->size = new_size;
|
||||
io->len = len;
|
||||
} else {
|
||||
ok = 0;
|
||||
MG_ERROR(("%lld->%lld", (uint64_t) io->size, (uint64_t) new_size));
|
||||
|
||||
@@ -25,6 +25,7 @@ int mg_iobuf_resize(struct mg_iobuf *io, size_t new_size) {
|
||||
mg_free(io->buf);
|
||||
io->buf = (unsigned char *) p;
|
||||
io->size = new_size;
|
||||
io->len = len;
|
||||
} else {
|
||||
ok = 0;
|
||||
MG_ERROR(("%lld->%lld", (uint64_t) io->size, (uint64_t) new_size));
|
||||
|
||||
@@ -322,6 +322,8 @@ static void test_iobuf(void) {
|
||||
mg_iobuf_add(&io, io.len, "a", 1);
|
||||
ASSERT(io.buf != NULL && io.size == 20 && io.len == 11);
|
||||
ASSERT(memcmp(io.buf, "xhi!123456a", io.len) == 0);
|
||||
mg_iobuf_resize(&io, 1);
|
||||
ASSERT(io.buf != NULL && io.size == 10 && io.len == 10);
|
||||
mg_iobuf_free(&io);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user