From 4c0b6e20600032b95b6ff4b0add236f44daabb3c Mon Sep 17 00:00:00 2001 From: ultramage Date: Sat, 27 Oct 2007 12:45:12 +0000 Subject: Removed 'petid', a command from r284 to look up pet ids by name. Cleaned up some pet-related code. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11586 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/pet.c | 80 +++++++++++++++++++++++++++-------------------------------- 1 file changed, 37 insertions(+), 43 deletions(-) (limited to 'src/map/pet.c') diff --git a/src/map/pet.c b/src/map/pet.c index 302669632..606e29d31 100644 --- a/src/map/pet.c +++ b/src/map/pet.c @@ -6,6 +6,7 @@ #include "../common/nullpo.h" #include "../common/malloc.h" #include "../common/showmsg.h" +#include "../common/strlib.h" #include "../common/utils.h" #include "../common/ers.h" @@ -23,7 +24,7 @@ #include "script.h" #include "skill.h" #include "unit.h" -#include "atcommand.h" +#include "atcommand.h" // msg_txt() #include #include @@ -279,30 +280,16 @@ int search_petDB_index(int key,int type) { int i; - for(i=0;i0) - continue; - ShowError("can't read %s\n",line); - return -1; + if( fp == NULL ) + { + if( i == 0 ) + ShowError("can't read %s\n",line); + continue; } + lines = 0; - while(fgets(line, sizeof(line), fp) && j < MAX_PET_DB) + while( fgets(line, sizeof(line), fp) && j < MAX_PET_DB ) { + char *str[32],*p,*np; + lines++; if(line[0] == '/' && line[1] == '/') continue; + // split string into table columns for(k=0,p=line;k<20;k++){ if((np=strchr(p,','))!=NULL){ str[k]=p; @@ -1307,8 +1300,8 @@ int read_petdb() } pet_db[j].class_ = nameid; - strncpy(pet_db[j].name,str[1],NAME_LENGTH); - strncpy(pet_db[j].jname,str[2],NAME_LENGTH); + safestrncpy(pet_db[j].name,str[1],NAME_LENGTH); + safestrncpy(pet_db[j].jname,str[2],NAME_LENGTH); pet_db[j].itemID=atoi(str[3]); pet_db[j].EggID=atoi(str[4]); pet_db[j].AcceID=atoi(str[5]); @@ -1334,7 +1327,8 @@ int read_petdb() pet_db[j].script = parse_script(np, filename[i], lines, 0); j++; } - if (j >= MAX_PET_DB) + + if( j >= MAX_PET_DB ) ShowWarning("read_petdb: Reached max number of pets [%d]. Remaining pets were not read.\n ", MAX_PET_DB); fclose(fp); ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' pets in '"CL_WHITE"%s"CL_RESET"'.\n",j,filename[i]); @@ -1367,7 +1361,7 @@ int do_init_pet(void) int do_final_pet(void) { int i; - for(i = 0;i < MAX_PET_DB; i++) { + for( i = 0; i < MAX_PET_DB; i++ ) { if(pet_db[i].script) { script_free_code(pet_db[i].script); pet_db[i].script = NULL; -- cgit v1.2.3-70-g09d2