From: Toni Wilen Date: Sun, 16 Apr 2017 19:08:29 +0000 (+0300) Subject: Realloc update. X-Git-Tag: 3500~62 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=af87ab3667531fb48a0a5a6bca174ec9f4dd9bf8;p=francis%2Fwinuae.git Realloc update. --- 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;