diff --git a/src/map/atcommand.h b/src/map/atcommand.h index e1f02e828c..051cd2760c 100644 --- a/src/map/atcommand.h +++ b/src/map/atcommand.h @@ -4,6 +4,8 @@ #ifndef _ATCOMMAND_H_ #define _ATCOMMAND_H_ +#include "../common/mmo.h" + struct map_session_data; //This is the distance at which @autoloot works, @@ -35,7 +37,7 @@ bool atcommand_exists(const char* name); // @commands (script based) struct atcmd_binding_data { char command[50]; - char npc_event[50]; + char npc_event[EVENT_NAME_LENGTH]; int level; int level2; }; diff --git a/src/map/mob.c b/src/map/mob.c index 2ca0fed01e..0a4524d1c1 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -385,7 +385,7 @@ struct mob_data* mob_spawn_dataset(struct spawn_data *data) if (data->state.size) md->special_state.size = data->state.size; if (data->eventname[0] && strlen(data->eventname) >= 4) - memcpy(md->npc_event, data->eventname, 50); + safestrncpy(md->npc_event, data->eventname, EVENT_NAME_LENGTH); if(status_has_mode(&md->db->status,MD_LOOTER)) md->lootitems = (struct s_mob_lootitem *)aCalloc(LOOTITEM_SIZE,sizeof(struct s_mob_lootitem)); md->spawn_timer = INVALID_TIMER; diff --git a/src/map/script.c b/src/map/script.c index c433b4ab4c..b017e0a5db 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -20093,7 +20093,7 @@ BUILDIN_FUNC(bindatcmd) { } else { ARR_FIND(0, atcmd_binding_count, i, strcmp(atcmd_binding[i]->command,atcmd) == 0); if( i < atcmd_binding_count ) {/* update existent entry */ - safestrncpy(atcmd_binding[i]->npc_event, eventName, 50); + safestrncpy(atcmd_binding[i]->npc_event, eventName, EVENT_NAME_LENGTH); atcmd_binding[i]->level = level; atcmd_binding[i]->level2 = level2; } else @@ -20109,7 +20109,7 @@ BUILDIN_FUNC(bindatcmd) { CREATE(atcmd_binding[i],struct atcmd_binding_data,1); safestrncpy(atcmd_binding[i]->command, atcmd, 50); - safestrncpy(atcmd_binding[i]->npc_event, eventName, 50); + safestrncpy(atcmd_binding[i]->npc_event, eventName, EVENT_NAME_LENGTH); atcmd_binding[i]->level = level; atcmd_binding[i]->level2 = level2; }