From af87ab3667531fb48a0a5a6bca174ec9f4dd9bf8 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sun, 16 Apr 2017 22:08:29 +0300 Subject: [PATCH] Realloc update. --- zfile.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/zfile.cpp b/zfile.cpp index 0eb4f0ee..59c3618d 100644 --- a/zfile.cpp +++ b/zfile.cpp @@ -2250,13 +2250,11 @@ size_t zfile_fwrite (const void *b, size_t l1, size_t l2, struct zfile *z) return 0; } if (off > z->allocsize) { - if (z->allocsize < off) - z->allocsize = off; - z->allocsize += z->size / 2; - if (z->allocsize < 10000) - z->allocsize = 10000; + int inc = (z->size / 2 + l1 * l2 + 7) & ~3; + if (inc < 10000) + inc = 10000; + z->allocsize += inc; z->data = xrealloc (uae_u8, z->data, z->allocsize); - z->datasize = z->size = off; } memcpy (z->data + z->seek, b, l1 * l2); z->seek += l1 * l2; -- 2.47.3