From f20c6c19cda1c672ed93836ddd33ce8e08e104c9 Mon Sep 17 00:00:00 2001 From: ultramage Date: Thu, 18 Oct 2007 12:49:49 +0000 Subject: * Removed commented-out code for check_fake_id() * Merged improved/cleaned up (WiP) code for clif_parse_WisMessage * Removed the requirement to provide a character name in the message string when calling is_atcommand() (needed for the previous fix) - currently both ways work, but old will be removed in the upcoming command cleanup so please adjust your custom code if you use this! * Added clif_process_message(), an unified way to validate all four types of player message packets and retrieve their components * Applied the new checking function to clif code, this fixes various length mismatches caused by incomplete code in r11386 (bugreport:198) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11507 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/charcommand.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/map/charcommand.c') diff --git a/src/map/charcommand.c b/src/map/charcommand.c index dc16f399b..d5f819625 100644 --- a/src/map/charcommand.c +++ b/src/map/charcommand.c @@ -287,11 +287,15 @@ CharCommandType is_charcommand(const int fd, struct map_session_data* sd, const if (!message || !*message) return CharCommand_None; - str += strlen(sd->status.name); - while (*str && (ISSPACE(*str) || (s_flag == 0 && *str == ':'))) { - if (*str == ':') - s_flag = 1; - str++; + // temporary compatibility layer for previous implementation + if( *message != charcommand_symbol ) + { + str += strlen(sd->status.name); + while (*str && (ISSPACE(*str) || (s_flag == 0 && *str == ':'))) { + if (*str == ':') + s_flag = 1; + str++; + } } if (!*str) -- cgit v1.2.3-70-g09d2