]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - sv_user.c
redesigned tempstring system, now uses a fixed size buffer based on the prvm_tempstri...
[xonotic/darkplaces.git] / sv_user.c
index 5e87f67b741b6d41261845425d2de51fbdb10ca1..407428a953b5bb8e9548840805ba8943b13c2fdf 100644 (file)
--- a/sv_user.c
+++ b/sv_user.c
@@ -644,6 +644,7 @@ SV_ReadClientMessage
 ===================
 */
 extern void SV_SendServerinfo(client_t *client);
+extern sizebuf_t vm_tempstringsbuf;
 void SV_ReadClientMessage(void)
 {
        int cmd, num, start;
@@ -692,9 +693,12 @@ void SV_ReadClientMessage(void)
                                Cmd_ExecuteString (s, src_client);
                        else if (SV_ParseClientCommandQC)
                        {
-                               PRVM_G_INT(OFS_PARM0) = PRVM_SetEngineString(s);
+                               int restorevm_tempstringsbuf_cursize;
+                               restorevm_tempstringsbuf_cursize = vm_tempstringsbuf.cursize;
+                               PRVM_G_INT(OFS_PARM0) = PRVM_SetTempString(s);
                                prog->globals.server->self = PRVM_EDICT_TO_PROG(host_client->edict);
                                PRVM_ExecuteProgram ((func_t)(SV_ParseClientCommandQC - prog->functions), "QC function SV_ParseClientCommand is missing");
+                               vm_tempstringsbuf.cursize = restorevm_tempstringsbuf_cursize;
                        }
                        else
                                Cmd_ExecuteString (s, src_client);