From 6a814eaf780a34312fdfa85b7f3936f880d70e83 Mon Sep 17 00:00:00 2001 From: ultramage Date: Tue, 13 Nov 2007 07:48:44 +0000 Subject: Added error reporting for invalid rows in skill db files. Fixed skill_castnodex_db.txt not being parsed correctly. Fixed a search&replace typo in skill_db.txt. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11728 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 3 +++ db/skill_db.txt | 2 +- src/map/map.c | 1 - src/map/skill.c | 18 ++++++++++++------ 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index b81aeff04..8c91fb028 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2007/11/14 + * Fixed skill_castnodex_db.txt not being parsed correctly + * Fixed a search&replace typo in skill_db.txt + * Added error reporting for invalid rows in skill db files * Added error reporting to buildin_warp when it fails [ultramage] 2007/11/13 * Fixed homunculus skills having unlimited range instead of being diff --git a/db/skill_db.txt b/db/skill_db.txt index 7fd5bf513..b90dd4216 100644 --- a/db/skill_db.txt +++ b/db/skill_db.txt @@ -123,7 +123,7 @@ 79,9,8,2,6,0,0,10,1:2:3:4:5:6:7:8:9:10,yes,0,0,0,magic,0 ,PR_MAGNUS,Magnus Exorcismus 80,9,8,2,3,0x20,1:1:1:1:1:2:2:2:2:2:2,10,3:4:5:6:7:8:9:10:11:12:12,yes,0,0x80,5,magic,0 ,WZ_FIREPILLAR,Fire Pillar 81,0,6,4,3,0,3,10,1,yes,0,0,0,magic,5 ,WZ_SIGHTRASHER,Sightrasher -,82,9,6,2,3,0,0,10,1,yes,0,0,0,magic,0 ,WZ_FIREIVY,Fire Ivy +//82,9,6,2,3,0,0,10,1,yes,0,0,0,magic,0 ,WZ_FIREIVY,Fire Ivy 83,9,8,2,3,0,3:3:3:3:3:3:3:3:3:3:14,10,1:1:2:2:3:3:4:4:5:5:15,yes,0,0,0,magic,0 ,WZ_METEOR,Meteor Storm 84,9,8,1,4,0,0,10,3:4:5:6:7:8:9:10:11:12,yes,0,0,0,magic,2:3:3:4:4:5:5:6:6:7 ,WZ_JUPITEL,Jupitel Thunder 85,9,8,2,4,0,0,10,-10,yes,0,0,0,magic,0 ,WZ_VERMILION,Lord of Vermilion diff --git a/src/map/map.c b/src/map/map.c index 97d8e1d12..526c24394 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -38,7 +38,6 @@ #include "charcommand.h" #include "log.h" #include "irc.h" -#include "npc.h" #ifndef TXT_ONLY #include "mail.h" #endif diff --git a/src/map/skill.c b/src/map/skill.c index c929de450..0918eeed4 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -10733,7 +10733,8 @@ static bool skill_read_csvdb( const char* directory, const char* filename, int m continue; //TODO: strip trailing // comment //TODO: strip trailing whitespace - //TODO: skip empty lines + if( line[0] == '\0' || line[0] == '\n' ) + continue; memset(split,0,sizeof(split)); columns = skill_split_str(line,split,ARRAYLENGTH(split)); @@ -10751,8 +10752,14 @@ static bool skill_read_csvdb( const char* directory, const char* filename, int m } // parse this row - if( parseproc(split, columns, entries) ) - entries++; + if( !parseproc(split, columns, entries) ) + { + ShowError("skill_read_csvdb: Could not process contents of line %d of \"%s\".\n", lines, path); + continue; // invalid row contents? + } + + // success! + entries++; } fclose(fp); @@ -11016,9 +11023,8 @@ static bool skill_parse_row_castnodexdb(char* split[], int columns, int current) return false; skill_split_atoi(split[1],skill_db[i].castnodex); - if( !split[2] ) // optional column - return false; - skill_split_atoi(split[2],skill_db[i].delaynodex); + if( split[2] ) // optional column + skill_split_atoi(split[2],skill_db[i].delaynodex); return true; } -- cgit v1.2.3-60-g2f50