From e697781ab5e618988b37951ab4e16a3e23e18655 Mon Sep 17 00:00:00 2001 From: gepard1984 Date: Mon, 19 Mar 2012 23:35:42 +0000 Subject: - Script label db now utilizes `DBMap`'s ability to store integer-type data (follow-up to r15682). - Some minor code cleanups. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15734 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/npc.c | 4 ++-- src/map/script.c | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/map/npc.c b/src/map/npc.c index fb806cdd2..6479bd9e1 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -2148,7 +2148,7 @@ static const char* npc_parse_shop(char* w1, char* w2, char* w3, char* w4, const int npc_convertlabel_db(DBKey key, DBData *data, va_list ap) { const char* lname = (const char*)key.str; - int lpos = (int)db_data2ptr(data); + int lpos = db_data2i(data); struct npc_label_list** label_list; int* label_list_num; const char* filepath; @@ -2299,7 +2299,7 @@ static const char* npc_parse_script(char* w1, char* w2, char* w3, char* w4, cons { DBMap* label_db = script_get_label_db(); label_db->foreach(label_db, npc_convertlabel_db, &label_list, &label_list_num, filepath); - label_db->clear(label_db, NULL); // not needed anymore, so clear the db + db_clear(label_db); // not needed anymore, so clear the db } CREATE(nd, struct npc_data, 1); diff --git a/src/map/script.c b/src/map/script.c index 19a041855..d343d23ae 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -214,8 +214,8 @@ int str_hash[SCRIPT_HASH_SIZE]; static DBMap* scriptlabel_db=NULL; // const char* label_name -> int script_pos static DBMap* userfunc_db=NULL; // const char* func_name -> struct script_code* static int parse_options=0; -DBMap* script_get_label_db(){ return scriptlabel_db; } -DBMap* script_get_userfunc_db(){ return userfunc_db; } +DBMap* script_get_label_db(void){ return scriptlabel_db; } +DBMap* script_get_userfunc_db(void){ return userfunc_db; } // Caches compiled autoscript item code. // Note: This is not cleared when reloading itemdb. @@ -1627,7 +1627,7 @@ const char* parse_syntax(const char* p) str_data[l].type = C_USERFUNC; set_label(l, script_pos, p); if( parse_options&SCRIPT_USE_LABEL_DB ) - strdb_put(scriptlabel_db, get_str(l), (void*)script_pos); + strdb_iput(scriptlabel_db, get_str(l), script_pos); } else disp_error_message("parse_syntax:function: function name is invalid", func_name); @@ -2096,7 +2096,7 @@ struct script_code* parse_script(const char *src,const char *file,int line,int o // who called parse_script is responsible for clearing the database after using it, but just in case... lets clear it here if( options&SCRIPT_USE_LABEL_DB ) - scriptlabel_db->clear(scriptlabel_db, NULL); + db_clear(scriptlabel_db); parse_options = options; if( setjmp( error_jump ) != 0 ) { @@ -2170,7 +2170,7 @@ struct script_code* parse_script(const char *src,const char *file,int line,int o i=add_word(p); set_label(i,script_pos,p); if( parse_options&SCRIPT_USE_LABEL_DB ) - strdb_put(scriptlabel_db, get_str(i), (void*)script_pos); + strdb_iput(scriptlabel_db, get_str(i), script_pos); p=tmpp+1; p=skip_space(p); continue; @@ -3823,7 +3823,7 @@ int do_final_script() int do_init_script() { userfunc_db=strdb_alloc(DB_OPT_DUP_KEY,0); - scriptlabel_db=strdb_alloc(DB_OPT_DUP_KEY|DB_OPT_ALLOW_NULL_DATA,50); + scriptlabel_db=strdb_alloc(DB_OPT_DUP_KEY,50); autobonus_db = strdb_alloc(DB_OPT_DUP_KEY,0); mapreg_init(); -- cgit v1.2.3-60-g2f50