From ebaabcfb4f9943b13393b0a765cf23b2713a0827 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Fri, 21 Dec 2018 10:26:09 +0100 Subject: [PATCH] - a few more explicit local buffer allocations removed. --- src/r_data/renderinfo.cpp | 9 ++------- src/r_data/sprites.cpp | 15 ++++++--------- src/serializer.cpp | 7 +++---- 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/r_data/renderinfo.cpp b/src/r_data/renderinfo.cpp index 7edeef789..0a058b10c 100644 --- a/src/r_data/renderinfo.cpp +++ b/src/r_data/renderinfo.cpp @@ -532,8 +532,8 @@ void InitRenderInfo() PrepareSegs(); PrepareSectorData(); InitVertexData(); - int *checkmap = new int[level.vertexes.Size()]; - memset(checkmap, -1, sizeof(int)*level.vertexes.Size()); + TArray checkmap(level.vertexes.Size()); + memset(checkmap.Data(), -1, sizeof(int)*level.vertexes.Size()); for(auto &sec : level.sectors) { int i = sec.sectornum; @@ -562,11 +562,6 @@ void InitRenderInfo() } } } - delete[] checkmap; - -#if 0 - gl_CreateSections(); -#endif } diff --git a/src/r_data/sprites.cpp b/src/r_data/sprites.cpp index f8a53cf7d..9896fbf4d 100644 --- a/src/r_data/sprites.cpp +++ b/src/r_data/sprites.cpp @@ -315,12 +315,12 @@ void R_InitSpriteDefs () struct Hasher { int Head, Next; - } *hashes; + }; struct VHasher { int Head, Next, Name, Spin; char Frame; - } *vhashes; + }; unsigned int i, j, smax, vmax; uint32_t intname; @@ -328,8 +328,8 @@ void R_InitSpriteDefs () // Create a hash table to speed up the process smax = TexMan.NumTextures(); - hashes = new Hasher[smax]; - memset(hashes, -1, sizeof(Hasher)*smax); + TArray hashes(smax, true); + memset(hashes.Data(), -1, sizeof(Hasher)*smax); for (i = 0; i < smax; ++i) { FTexture *tex = TexMan.ByIndex(i); @@ -343,8 +343,8 @@ void R_InitSpriteDefs () // Repeat, for voxels vmax = Wads.GetNumLumps(); - vhashes = new VHasher[vmax]; - memset(vhashes, -1, sizeof(VHasher)*vmax); + TArray vhashes(vmax, true); + memset(vhashes.Data(), -1, sizeof(VHasher)*vmax); for (i = 0; i < vmax; ++i) { if (Wads.GetLumpNamespace(i) == ns_voxels) @@ -459,9 +459,6 @@ void R_InitSpriteDefs () R_InstallSprite ((int)i, sprtemp, maxframe); } - - delete[] hashes; - delete[] vhashes; } //========================================================================== diff --git a/src/serializer.cpp b/src/serializer.cpp index 535c739e7..e4f936916 100644 --- a/src/serializer.cpp +++ b/src/serializer.cpp @@ -464,10 +464,9 @@ bool FSerializer::OpenReader(FCompressedBuffer *input) } else { - char *unpacked = new char[input->mSize]; - input->Decompress(unpacked); - r = new FReader(unpacked, input->mSize); - delete[] unpacked; + TArray unpacked(input->mSize); + input->Decompress(unpacked.Data()); + r = new FReader(unpacked.Data(), input->mSize); } return true; }