diff options
author | Haru <haru@dotalux.com> | 2015-12-09 11:03:40 +0100 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2015-12-09 11:03:40 +0100 |
commit | 63abf092ab36d39ee4acc67d3c90091cb12b16f1 (patch) | |
tree | 88c6b593704b6956c8c289b86de35403b69c15eb | |
parent | f8fb58594989a4be8e11be4d61beed527d94261d (diff) | |
download | hercules-63abf092ab36d39ee4acc67d3c90091cb12b16f1.tar.gz hercules-63abf092ab36d39ee4acc67d3c90091cb12b16f1.tar.bz2 hercules-63abf092ab36d39ee4acc67d3c90091cb12b16f1.tar.xz hercules-63abf092ab36d39ee4acc67d3c90091cb12b16f1.zip |
Fixed a nullpo check failure in log_chat
- Thanks to Michieru
Signed-off-by: Haru <haru@dotalux.com>
-rw-r--r-- | src/map/log.c | 57 |
1 files changed, 51 insertions, 6 deletions
diff --git a/src/map/log.c b/src/map/log.c index c5dd0d044..70f5dfc9a 100644 --- a/src/map/log.c +++ b/src/map/log.c @@ -338,7 +338,21 @@ void log_npc(struct map_session_data* sd, const char* message) logs->npc_sub(sd,message); } -void log_chat_sub_sql(e_log_chat_type type, int type_id, int src_charid, int src_accid, const char *mapname, int x, int y, const char* dst_charname, const char* message) { +/** + * Logs a chat message to the SQL backend. + * + * @param type Chat type. + * @param type_id Additional ID, dependent on chat type (Guild ID, Party ID, etc). Zero when unused. + * @param src_charid Source character ID. + * @param src_accid Source account ID. + * @param mapname Source location map name + * @param x Source location x coordinate + * @param y Source location y coordinate + * @param dst_charname Destination character name. Must not be NULL. + * @param message Message to log. + */ +void log_chat_sub_sql(e_log_chat_type type, int type_id, int src_charid, int src_accid, const char *mapname, int x, int y, const char *dst_charname, const char *message) +{ SqlStmt* stmt; nullpo_retv(dst_charname); @@ -355,7 +369,22 @@ void log_chat_sub_sql(e_log_chat_type type, int type_id, int src_charid, int src } SQL->StmtFree(stmt); } -void log_chat_sub_txt(e_log_chat_type type, int type_id, int src_charid, int src_accid, const char *mapname, int x, int y, const char* dst_charname, const char* message) { + +/** + * Logs a chat message to the TXT backend. + * + * @param type Chat type. + * @param type_id Additional ID, dependent on chat type (Guild ID, Party ID, etc). Zero when unused. + * @param src_charid Source character ID. + * @param src_accid Source account ID. + * @param mapname Source location map name + * @param x Source location x coordinate + * @param y Source location y coordinate + * @param dst_charname Destination character name. Must not be NULL. + * @param message Message to log. + */ +void log_chat_sub_txt(e_log_chat_type type, int type_id, int src_charid, int src_accid, const char *mapname, int x, int y, const char *dst_charname, const char *message) +{ char timestring[255]; time_t curtime; FILE* logfp; @@ -371,18 +400,34 @@ void log_chat_sub_txt(e_log_chat_type type, int type_id, int src_charid, int src fclose(logfp); } -/// logs chat -void log_chat(e_log_chat_type type, int type_id, int src_charid, int src_accid, const char *mapname, int x, int y, const char* dst_charname, const char* message) { - if( ( logs->config.chat&type ) == 0 ) { +/** + * Logs a chat message. + * + * @param type Chat type. + * @param type_id Additional ID, dependent on chat type (Guild ID, Party ID, etc). Zero when unused. + * @param src_charid Source character ID. + * @param src_accid Source account ID. + * @param mapname Source location map name + * @param x Source location x coordinate + * @param y Source location y coordinate + * @param dst_charname Destination character name. May be NULL when unused. + * @param message Message to log. + */ +void log_chat(e_log_chat_type type, int type_id, int src_charid, int src_accid, const char *mapname, int x, int y, const char *dst_charname, const char *message) +{ + if ((logs->config.chat&type) == 0) { // disabled return; } - if( logs->config.log_chat_woe_disable && ( map->agit_flag || map->agit2_flag ) ) { + if (logs->config.log_chat_woe_disable && (map->agit_flag || map->agit2_flag)) { // no chat logging during woe return; } + if (dst_charname == NULL) + dst_charname = ""; + logs->chat_sub(type,type_id,src_charid,src_accid,mapname,x,y,dst_charname,message); } |