From 80ce7898584ef58f01470fc8969bddfca47a2629 Mon Sep 17 00:00:00 2001 From: ultramage Date: Mon, 26 May 2008 11:25:12 +0000 Subject: Increased the allowed packet size for chat messages. Changed the capacity of the message column in chatlog (see sql update). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12725 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/clif.c | 11 ++++++----- src/map/map.h | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/map/clif.c b/src/map/clif.c index 05e71fe19..663ef51ea 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -7570,12 +7570,13 @@ static bool clif_process_message(struct map_session_data* sd, int format, char** ShowWarning("clif_process_message: Player '%s' sent an unterminated message string!\n", sd->status.name); return false; } - if( messagelen > CHAT_SIZE_MAX ) + if( messagelen > CHAT_SIZE_MAX-1 ) { // messages mustn't be too long - // Normally you can only enter CHATBOX_SIZE-1 chars into the chat box, but Frost Joke / Dazzler's text can be longer. - // Neither the official client nor server place any restriction on the length of the text in the packet, - // but we'll only allow reasonably long strings here. This also makes sure all strings fit into the `chatlog` table. - ShowWarning("clif_process_message: Player '%s' sent a message too long ('%.*s')!\n", sd->status.name, CHAT_SIZE_MAX, message); + // Normally you can only enter CHATBOX_SIZE-1 letters into the chat box, but Frost Joke / Dazzler's text can be longer. + // Also, the physical size of strings that use multibyte encoding can go multiple times over the chatbox capacity. + // Neither the official client nor server place any restriction on the length of the data in the packet, + // but we'll only allow reasonably long strings here. This also makes sure that they fit into the `chatlog` table. + ShowWarning("clif_process_message: Player '%s' sent a message too long ('%.*s')!\n", sd->status.name, CHAT_SIZE_MAX-1, message); return false; } diff --git a/src/map/map.h b/src/map/map.h index c32951b45..954e211b9 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -151,7 +151,7 @@ enum { #define CHATROOM_TITLE_SIZE (36 + 1) #define CHATROOM_PASS_SIZE (8 + 1) //Max allowed chat text length -#define CHAT_SIZE_MAX 150 +#define CHAT_SIZE_MAX 256 #define DEFAULT_AUTOSAVE_INTERVAL 5*60*1000 -- cgit v1.2.3-70-g09d2