[openjk] 07/130: Remove dynamic allocation of strList

Simon McVittie smcv at debian.org
Fri Oct 28 11:09:11 UTC 2016


This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to branch debian/master
in repository openjk.

commit bdaa3166d04314de324602de614afd0aaa2c41c6
Author: bibendovsky <bibendovsky at NOSTROMO>
Date:   Tue Jun 28 17:34:07 2016 +0300

    Remove dynamic allocation of strList
---
 code/game/g_savegame.cpp    | 11 ++++-------
 codeJK2/game/g_savegame.cpp | 11 ++++-------
 2 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/code/game/g_savegame.cpp b/code/game/g_savegame.cpp
index c5ecd4f..29515bb 100644
--- a/code/game/g_savegame.cpp
+++ b/code/game/g_savegame.cpp
@@ -157,7 +157,7 @@ static const save_field_t savefields_gClient[] =
 };
 
 // TODO FIXME mrwonko: this has no business being a global variable. WTF Raven?
-std::list<sstring_t> *strList = NULL;
+static std::list<sstring_t> strList;
 
 
 /////////// char * /////////////
@@ -174,7 +174,7 @@ static int GetStringNum(const char *psString)
 		return -1;
 	}
 
-	strList->push_back( psString );
+	strList.push_back( psString );
 	return strlen(psString) + 1;	// this gives us the chunk length for the reader later
 }
 
@@ -504,7 +504,7 @@ static void EnumerateField(const save_field_t *pField, const byte *pbBase)
 template<typename T>
 static void EnumerateFields(const save_field_t *pFields, const T* src_instance, unsigned int ulChid, size_t iLen)
 {
-	strList = new std::list<sstring_t>;
+	strList.clear();
 
     auto pbData = reinterpret_cast<const byte*>(src_instance);
 
@@ -536,13 +536,10 @@ static void EnumerateFields(const save_field_t *pFields, const T* src_instance,
 
 	// save out any associated strings..
 	//
-	for (const auto& it : *strList)
+	for (const auto& it : strList)
 	{
 		::sg_write_no_cast(::gi, INT_ID('S','T','R','G'), it.c_str(), static_cast<int>(it.length() + 1));
 	}
-
-	delete strList;
-	strList = NULL;
 }
 
 
diff --git a/codeJK2/game/g_savegame.cpp b/codeJK2/game/g_savegame.cpp
index aa07d28..c342535 100644
--- a/codeJK2/game/g_savegame.cpp
+++ b/codeJK2/game/g_savegame.cpp
@@ -153,7 +153,7 @@ static const field_t savefields_gClient[] =
 };
 
 
-static std::list<sstring_t>* strList = NULL;
+static std::list<sstring_t> strList;
 
 
 /////////// char * /////////////
@@ -170,7 +170,7 @@ int GetStringNum(const char *psString)
 		return -1;
 	}
 
-	strList->push_back( psString );
+	strList.push_back( psString );
 	return strlen(psString) + 1;	// this gives us the chunk length for the reader later
 }
 
@@ -445,7 +445,7 @@ void EnumerateField(const field_t *pField, byte *pbBase)
 template<typename T>
 static void EnumerateFields(const field_t *pFields, T* src_instance, unsigned int ulChid, size_t iLen)
 {
-	strList = new std::list<sstring_t>;
+	strList.clear();
 
     auto pbData = reinterpret_cast<byte*>(src_instance);
 
@@ -477,13 +477,10 @@ static void EnumerateFields(const field_t *pFields, T* src_instance, unsigned in
 
 	// save out any associated strings..
 	//
-	for (const auto& it : *strList)
+	for (const auto& it : strList)
 	{
 		::sg_write_no_cast(::gi, INT_ID('S','T','R','G'), it.c_str(), static_cast<int>(it.length()+1));
 	}
-
-	delete strList;
-	strList = NULL;
 }
 
 static void EvaluateField(const field_t *pField, byte *pbBase, byte *pbOriginalRefData/* may be NULL*/)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/openjk.git



More information about the Pkg-games-commits mailing list