]> jfr.im git - irc/gameservirc.git/commitdiff
fixed some memory issues
authorkainazzzo <redacted>
Thu, 25 Jan 2007 21:10:46 +0000 (21:10 +0000)
committerkainazzzo <redacted>
Thu, 25 Jan 2007 21:10:46 +0000 (21:10 +0000)
git-svn-id: https://svn.code.sf.net/p/gameservirc/code/trunk@488 bc333340-6410-0410-a689-9d09f3c113fa

gameserv/Changes
gameserv/loadsave.cpp

index 037e641c9a550dec3adc63c85f0b0f77d374841d..734fa51aedcae056be5aabdcd1c4c521710c0def 100644 (file)
@@ -1,4 +1,6 @@
 Version 1.3.5
+* Cleaned up a ton of source code, and segmented all the do_functions into their own
+    files - Kain
 * Added bahamut 1.8.x as a supported ircd - Kain (thanks sheik)
 * Fixed a bug that would allow a player to run from a player vs. player fight, but still
     attack - Kain (thanks bernardocr)
index 61026431a9547b784417e47f8273276f2209abdb..66c8d8e1a487f6435e8451533580bddaf388028d 100755 (executable)
@@ -308,6 +308,8 @@ int load_items()
                break;
       try
                {
+         /* Need to check to see if this is a memory leak. It should
+            clear out on exit since STL list::clear() deletes its nodes */
                  if (buf[0] != '#' && buf[0] != '\n' && buf[0] != '\0')
                        {
                          switch(buf[0])
@@ -360,6 +362,7 @@ int load_gs_dbase()
   if (infile.fail())
     {
          log("Error opening %s", playerdata);
+     delete []buf;
          return 0;
     }
   
@@ -482,11 +485,11 @@ bool load_monsters()
   ifstream infile;
   char *buf;
   buf = new char[2048];
+  filename = new char[256];
   
   for (int level = 1; level <= LEVELS; level++)
        {
-         filename = new char[256];
-         sprintf(filename, "data/monsters/level%d.dat", level);
+         snprintf(filename, 256, "data/monsters/level%d.dat", level);
          infile.open(filename);
          
          if (infile.fail())
@@ -517,12 +520,9 @@ bool load_monsters()
                  levels[level - 1].monsters.push_back(temp);
 
                }
-         delete [] filename;
          infile.close();
        }
   delete [] buf;
+  delete [] filename;
   return true;
 }
-
-
-