#include "pouch.h"
#include "toplist.h"
#include "flags.h"
+ #include "options.h"
+ #include <stdio.h>
#include <fstream>
using namespace std;
if (tempItem2 == NULL)
{
log("Invalid ID in %s", storeitemdata);
+ infile.close();
return 0;
}
catch (char *str)
{
log("Exception loading store: %s", str);
+ infile.close();
delete []buf;
return 0;
}
}
delete []buf;
+ infile.close();
return 1;
}
int load_tavern()
if (tempItem2 == NULL)
{
log("Invalid ID in %s", tavernitemdata);
+ infile.close();
return 0;
}
tempItem.setItem(tempItem2);
{
log("Exception loading tavern: %s", str);
delete []buf;
+ infile.close();
return 0;
}
}
delete []buf;
+ infile.close();
return 1;
}
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])
default:
log("Invalid Item Type %c in %s", buf[0], itemdata);
delete []buf;
+ infile.close();
return 0;
break;
}
{
log("Exception loading items: %s", str);
delete []buf;
+ infile.close();
return 0;
}
}
+ infile.close();
delete []buf;
return 1;
}
if (infile.fail())
{
log("Error opening %s", playerdata);
+ delete []buf;
return 0;
}
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)
+ if (infile.fail())
{
log("Error opening %s", filename);
delete []filename;
levels[level - 1].monsters.push_back(temp);
}
- delete [] filename;
infile.close();
}
delete [] buf;
+ delete [] filename;
return true;
}
-
-
-