diff options
author | Haru <haru@dotalux.com> | 2014-10-25 00:42:05 +0200 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2014-10-25 00:42:05 +0200 |
commit | 3e1fe0d3842aab1c85f4dfd8e3533ca6631fc4e5 (patch) | |
tree | 91414ec9aad216e7297a700dd9bec8c08d668502 /src/map/script.c | |
parent | ab3b5bd8d231434d0c3fb4db0d977e96613b4e77 (diff) | |
download | hercules-3e1fe0d3842aab1c85f4dfd8e3533ca6631fc4e5.tar.gz hercules-3e1fe0d3842aab1c85f4dfd8e3533ca6631fc4e5.tar.bz2 hercules-3e1fe0d3842aab1c85f4dfd8e3533ca6631fc4e5.tar.xz hercules-3e1fe0d3842aab1c85f4dfd8e3533ca6631fc4e5.zip |
Added some missing variable initializations
- The issue was caused by memcmp failing because of garbage in structs
padding.
- Fixes bugreport:8410, special thanks (and credits for the fix) to Garr
http://hercules.ws/board/tracker/issue-8410-autotradeat-issue/
- Also reduced scope of some variables, where appropriate.
- Thanks to Ind.
Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/map/script.c')
-rw-r--r-- | src/map/script.c | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/src/map/script.c b/src/map/script.c index f6c8e8651..b8e161e10 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -7013,28 +7013,25 @@ BUILDIN(delitem) { TBL_PC *sd; struct item it; - if( script_hasdata(st,4) ) - { + if (script_hasdata(st,4)) { int account_id = script_getnum(st,4); sd = map->id2sd(account_id); // <account id> - if( sd == NULL ) - { + if (sd == NULL) { ShowError("script:delitem: player not found (AID=%d).\n", account_id); st->state = END; return false; } - } - else - { + } else { sd = script->rid2sd(st);// attached player - if( sd == NULL ) + if (sd == NULL) return true; } - if( script_isstringtype(st, 2) ) { + memset(&it, 0, sizeof(it)); + if (script_isstringtype(st, 2)) { const char* item_name = script_getstr(st, 2); struct item_data* id = itemdb->search_name(item_name); - if( id == NULL ) { + if (id == NULL) { ShowError("script:delitem: unknown item \"%s\".\n", item_name); st->state = END; return false; @@ -7042,8 +7039,7 @@ BUILDIN(delitem) { it.nameid = id->nameid;// "<item name>" } else { it.nameid = script_getnum(st, 2);// <item id> - if( !itemdb->exists( it.nameid ) ) - { + if (!itemdb->exists(it.nameid)) { ShowError("script:delitem: unknown item \"%d\".\n", it.nameid); st->state = END; return false; @@ -7074,26 +7070,25 @@ BUILDIN(delitem2) { TBL_PC *sd; struct item it; - if( script_hasdata(st,11) ) { + if (script_hasdata(st,11)) { int account_id = script_getnum(st,11); sd = map->id2sd(account_id); // <account id> - if( sd == NULL ) { + if (sd == NULL) { ShowError("script:delitem2: player not found (AID=%d).\n", account_id); st->state = END; return false; } - } - else - { + } else { sd = script->rid2sd(st);// attached player if( sd == NULL ) return true; } - if( script_isstringtype(st, 2) ) { + memset(&it, 0, sizeof(it)); + if (script_isstringtype(st, 2)) { const char* item_name = script_getstr(st, 2); struct item_data* id = itemdb->search_name(item_name); - if( id == NULL ) { + if (id == NULL) { ShowError("script:delitem2: unknown item \"%s\".\n", item_name); st->state = END; return false; |