]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cmd.c
added alphafade and gravity fields to particle struct, which made most particle types...
[xonotic/darkplaces.git] / cmd.c
diff --git a/cmd.c b/cmd.c
index 293155d62de244a1eb3ffefcd2fc500b2cabc065..d46db8445ea513c1c1f1e5a121f16f69a1134a8e 100644 (file)
--- a/cmd.c
+++ b/cmd.c
@@ -510,6 +510,9 @@ char        *Cmd_Args (void)
 }
 
 
+#define CMD_TOKENIZELENGTH 4096
+char cmd_tokenizebuffer[CMD_TOKENIZELENGTH];
+
 /*
 ============
 Cmd_TokenizeString
@@ -519,11 +522,9 @@ Parses the given string into command line tokens.
 */
 static void Cmd_TokenizeString (char *text)
 {
-       int             i;
-
-// clear the args from the last string
-       for (i=0 ; i<cmd_argc ; i++)
-               Z_Free (cmd_argv[i]);
+       int l;
+       int pos;
+       pos = 0;
 
        cmd_argc = 0;
        cmd_args = NULL;
@@ -554,7 +555,11 @@ static void Cmd_TokenizeString (char *text)
 
                if (cmd_argc < MAX_ARGS)
                {
-                       cmd_argv[cmd_argc] = Z_Malloc (strlen(com_token)+1);
+                       l = strlen(com_token) + 1;
+                       if (pos + l > CMD_TOKENIZELENGTH)
+                               Sys_Error("Cmd_TokenizeString: ran out of %i character buffer space for command arguements\n", CMD_TOKENIZELENGTH);
+                       cmd_argv[cmd_argc] = cmd_tokenizebuffer + pos;
+                       pos += l;
                        strcpy (cmd_argv[cmd_argc], com_token);
                        cmd_argc++;
                }
@@ -572,9 +577,6 @@ void        Cmd_AddCommand (char *cmd_name, xcommand_t function)
 {
        cmd_function_t  *cmd;
 
-//     if (host_initialized)   // because hunk allocation would get stomped
-//             Sys_Error ("Cmd_AddCommand after host_initialized");
-
 // fail if the command is a variable name
        if (Cvar_VariableString(cmd_name)[0])
        {
@@ -616,7 +618,6 @@ qboolean    Cmd_Exists (char *cmd_name)
 }
 
 
-
 /*
 ============
 Cmd_CompleteCommand