--- deliantra/server/socket/lowlevel.C 2007/11/14 08:09:46 1.63 +++ deliantra/server/socket/lowlevel.C 2008/09/19 01:39:45 1.66 @@ -1,7 +1,7 @@ /* * This file is part of Deliantra, the Roguelike Realtime MMORPG. * - * Copyright (©) 2005,2006,2007 Marc Alexander Lehmann / Robin Redeker / the Deliantra team + * Copyright (©) 2005,2006,2007,2008 Marc Alexander Lehmann / Robin Redeker / the Deliantra team * Copyright (©) 1992,2007 Frank Tore Johansen * * Deliantra is free software: you can redistribute it and/or modify @@ -476,13 +476,6 @@ send_packet (sl); } -// returns true when the message needs special (read: perl) treatment -static bool -msg_is_special (const char *msg) -{ - return msg [strcspn (msg, "<[&\n")]; -} - void client::send_msg (int color, const char *type, const char *msg) { @@ -494,7 +487,9 @@ int len = strlen (msg); - if (msg_is_special (msg) || (type [0] == 'c' && type [1] == '/') || len > (MAXSOCKBUF - 128)) + if (!(color & NDI_VERBATIM) + && (msg_is_special (msg) + || (type [0] == 'c' && type [1] == '/') || len > (MAXSOCKBUF - 128))) cfperl_send_msg (this, color, type, msg); else if (can_msg) send_packet_printf ("msg %d %s %s", color & NDI_CLIENT_MASK, type, msg);