* Fixed NPC_TALK message being displayed with EOL character attached (bugreport:4596, since r14270).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14535 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
459d8fd961
commit
9808dfb86b
@ -1,6 +1,7 @@
|
||||
Date Added
|
||||
|
||||
2010/12/01
|
||||
* Fixed NPC_TALK message being displayed with EOL character attached (bugreport:4596, since r14270). [Ai4rei]
|
||||
* Reverted change from r14533 and restored the 3rd field of mob_avail.txt being optional (bugreport:4599, since r14532). [Ai4rei]
|
||||
* Monster database reading now utilizes sv_readdb. [Ai4rei]
|
||||
2010/11/30
|
||||
|
@ -3830,8 +3830,10 @@ static int mob_read_randommonster(void)
|
||||
*------------------------------------------*/
|
||||
static bool mob_parse_row_chatdb(char** str, const char* source, int line, int* last_msg_id)
|
||||
{
|
||||
char* msg;
|
||||
struct mob_chat *ms;
|
||||
int msg_id;
|
||||
size_t len;
|
||||
|
||||
msg_id = atoi(str[0]);
|
||||
|
||||
@ -3853,13 +3855,29 @@ static bool mob_parse_row_chatdb(char** str, const char* source, int line, int*
|
||||
//Color
|
||||
ms->color=strtoul(str[1],NULL,0);
|
||||
//Message
|
||||
if(strlen(str[2])>(CHAT_SIZE_MAX-1)){
|
||||
msg = str[2];
|
||||
len = strlen(msg);
|
||||
|
||||
while( len && ( msg[len-1]=='\r' || msg[len-1]=='\n' ) )
|
||||
{// find EOL to strip
|
||||
len--;
|
||||
}
|
||||
|
||||
if(len>(CHAT_SIZE_MAX-1))
|
||||
{
|
||||
if (msg_id != *last_msg_id) {
|
||||
ShowError("mob_chat: readdb: Message too long! Line %d, id: %d\n", line, msg_id);
|
||||
*last_msg_id = msg_id;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
else if( !len )
|
||||
{
|
||||
ShowWarning("mob_parse_row_chatdb: Empty message for id %d.\n", msg_id);
|
||||
return false;
|
||||
}
|
||||
|
||||
msg[len] = 0; // strip previously found EOL
|
||||
strncpy(ms->msg, str[2], CHAT_SIZE_MAX);
|
||||
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user