From 97029c0689a01928d6b23a48bfe330c04cf67a24 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Fri, 19 Apr 2002 17:58:52 +0000 Subject: [PATCH] rearrange the svc_stufftext code so stuffbuff doesn't even get allocated if it's not needed. This should speed things up fractionally for well behaved mods/servers that send atomic svc_stufftext packets (ie, always ending in \n). --- qw/source/cl_parse.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/qw/source/cl_parse.c b/qw/source/cl_parse.c index 321eeaa7e..bb86351b9 100644 --- a/qw/source/cl_parse.c +++ b/qw/source/cl_parse.c @@ -1210,14 +1210,21 @@ CL_ParseServerMessage (void) break; case svc_stufftext: - if (!stuffbuf) stuffbuf = dstring_newstr(); s = MSG_ReadString (net_message); - Con_DPrintf ("partial stufftext: %s\n", s); - dstring_appendstr (stuffbuf, s); - if (stuffbuf->str[strlen(stuffbuf->str)-1] == '\n') { - Con_DPrintf ("stufftext: %s\n", stuffbuf->str); - Cbuf_AddTextTo (cmd_legacybuffer, stuffbuf->str); - dstring_clearstr (stuffbuf); + if (s[strlen (s) - 1] == '\n') { + if (stuffbuf && stuffbuf->str[0]) { + Con_DPrintf ("stufftext: %s%s\n", stuffbuf->str, s); + Cbuf_AddTextTo (cmd_legacybuffer, stuffbuf->str); + dstring_clearstr (stuffbuf); + } else { + Con_DPrintf ("stufftext: %s\n", s); + } + Cbuf_AddTextTo (cmd_legacybuffer, s); + } else { + Con_DPrintf ("partial stufftext: %s\n", s); + if (!stuffbuf) + stuffbuf = dstring_newstr(); + dstring_appendstr (stuffbuf, s); } break;