1
0

Fixed BlockStringToType return value.

-1 was not a valid BLOCKTYPE and would not be recognized by the callers, ever.
This commit is contained in:
Mattes D 2014-11-27 21:19:52 +01:00
parent a971dee379
commit e3e13f552f
3 changed files with 5 additions and 5 deletions

View File

@ -200,7 +200,7 @@ public:
BLOCKTYPE BlockStringToType(const AString & a_BlockTypeString) int BlockStringToType(const AString & a_BlockTypeString)
{ {
int res = atoi(a_BlockTypeString.c_str()); int res = atoi(a_BlockTypeString.c_str());
if ((res != 0) || (a_BlockTypeString.compare("0") == 0)) if ((res != 0) || (a_BlockTypeString.compare("0") == 0))

View File

@ -1096,7 +1096,7 @@ class cIniFile;
// tolua_begin // tolua_begin
/// Translates a blocktype string into blocktype. Takes either a number or an items.ini alias as input. Returns -1 on failure. /// Translates a blocktype string into blocktype. Takes either a number or an items.ini alias as input. Returns -1 on failure.
extern BLOCKTYPE BlockStringToType(const AString & a_BlockTypeString); extern int BlockStringToType(const AString & a_BlockTypeString);
/// Translates an itemtype string into an item. Takes either a number, number^number, number:number or an items.ini alias as input. Returns true if successful. /// Translates an itemtype string into an item. Takes either a number, number^number, number:number or an items.ini alias as input. Returns true if successful.
extern bool StringToItem(const AString & a_ItemTypeString, cItem & a_Item); extern bool StringToItem(const AString & a_ItemTypeString, cItem & a_Item);

View File

@ -191,13 +191,13 @@ EMCSBiome cChunkGenerator::GetBiomeAt(int a_BlockX, int a_BlockZ)
BLOCKTYPE cChunkGenerator::GetIniBlock(cIniFile & a_IniFile, const AString & a_SectionName, const AString & a_ValueName, const AString & a_Default) BLOCKTYPE cChunkGenerator::GetIniBlock(cIniFile & a_IniFile, const AString & a_SectionName, const AString & a_ValueName, const AString & a_Default)
{ {
AString BlockType = a_IniFile.GetValueSet(a_SectionName, a_ValueName, a_Default); AString BlockType = a_IniFile.GetValueSet(a_SectionName, a_ValueName, a_Default);
BLOCKTYPE Block = BlockStringToType(BlockType); int Block = BlockStringToType(BlockType);
if (Block < 0) if (Block < 0)
{ {
LOGWARN("[%s].%s Could not parse block value \"%s\". Using default: \"%s\".", a_SectionName.c_str(), a_ValueName.c_str(), BlockType.c_str(), a_Default.c_str()); LOGWARN("[%s].%s Could not parse block value \"%s\". Using default: \"%s\".", a_SectionName.c_str(), a_ValueName.c_str(), BlockType.c_str(), a_Default.c_str());
return BlockStringToType(a_Default); return static_cast<BLOCKTYPE>(BlockStringToType(a_Default));
} }
return Block; return static_cast<BLOCKTYPE>(Block);
} }