From fcacb80db57adcf69cdbd9ca95b933eab899c515 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. # Conflicts: # src/gl/data/gl_setup.cpp --- src/gl/data/gl_setup.cpp | 10 ++-------- src/r_data/sprites.cpp | 15 ++++++--------- src/serializer.cpp | 7 +++---- 3 files changed, 11 insertions(+), 21 deletions(-) diff --git a/src/gl/data/gl_setup.cpp b/src/gl/data/gl_setup.cpp index 6992ad2cf..680342373 100644 --- a/src/gl/data/gl_setup.cpp +++ b/src/gl/data/gl_setup.cpp @@ -549,8 +549,8 @@ void gl_PreprocessLevel() 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; @@ -579,8 +579,6 @@ void gl_PreprocessLevel() } } } - delete[] checkmap; - gl_InitPortals(); if (GLRenderer != NULL) @@ -588,10 +586,6 @@ void gl_PreprocessLevel() GLRenderer->SetupLevel(); } -#if 0 - gl_CreateSections(); -#endif - InitGLRMapinfoData(); } diff --git a/src/r_data/sprites.cpp b/src/r_data/sprites.cpp index d64237cb3..2b9583b10 100644 --- a/src/r_data/sprites.cpp +++ b/src/r_data/sprites.cpp @@ -319,12 +319,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; @@ -332,8 +332,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); @@ -347,8 +347,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) @@ -463,9 +463,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 a17c5c5d4..ac08beaa6 100644 --- a/src/serializer.cpp +++ b/src/serializer.cpp @@ -471,10 +471,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; }