]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cmd.c
Fix setinfo.
[xonotic/darkplaces.git] / cmd.c
diff --git a/cmd.c b/cmd.c
index ea486140bce595ec383ce744b6c6630fe254dc73..cab160b4220a10811d322d70d960b1d3474c95cf 100644 (file)
--- a/cmd.c
+++ b/cmd.c
@@ -142,7 +142,7 @@ static void Cmd_Centerprint_f (void)
                        strlcat(msg, " ", sizeof(msg));
                        strlcat(msg, Cmd_Argv(i), sizeof(msg));
                }
-               c = strlen(msg);
+               c = (unsigned int)strlen(msg);
                for(p = 0, i = 0; i < c; ++i)
                {
                        if(msg[i] == '\\')
@@ -177,9 +177,6 @@ static sizebuf_t    cmd_text;
 static unsigned char           cmd_text_buf[CMDBUFSIZE];
 void *cmd_text_mutex = NULL;
 
-#define Cbuf_LockThreadMutex() (void)(cmd_text_mutex ? Thread_LockMutex(cmd_text_mutex) : 0)
-#define Cbuf_UnlockThreadMutex() (void)(cmd_text_mutex ? Thread_UnlockMutex(cmd_text_mutex) : 0)
-
 /*
 ============
 Cbuf_AddText
@@ -222,7 +219,7 @@ void Cbuf_InsertText (const char *text)
        {
                // we don't have a SZ_Prepend, so...
                memmove(cmd_text.data + l, cmd_text.data, cmd_text.cursize);
-               cmd_text.cursize += l;
+               cmd_text.cursize += (int)l;
                memcpy(cmd_text.data, text, l);
        }
        Cbuf_UnlockThreadMutex();
@@ -464,7 +461,9 @@ static void Cmd_Exec(const char *filename)
 {
        char *f;
        size_t filenameLen = strlen(filename);
-       qboolean isdefaultcfg = filenameLen >= 11 && !strcmp(filename + filenameLen - 11, "default.cfg");
+       qboolean isdefaultcfg =
+               !strcmp(filename, "default.cfg") ||
+               (filenameLen >= 12 && !strcmp(filename + filenameLen - 12, "/default.cfg"));
 
        if (!strcmp(filename, "config.cfg"))
        {
@@ -977,7 +976,7 @@ static const char *Cmd_GetDirectCvarValue(const char *varname, cmdalias_t *alias
        cvar_t *cvar;
        long argno;
        char *endptr;
-       char vabuf[1024];
+       static char vabuf[1024]; // cmd_mutex
 
        if(is_multiple)
                *is_multiple = false;
@@ -1913,7 +1912,8 @@ void Cmd_ExecuteString (const char *text, cmd_source_t src, qboolean lockmutex)
        int found;
        cmd_function_t *cmd;
        cmdalias_t *a;
-
+       if (lockmutex)
+               Cbuf_LockThreadMutex();
        oldpos = cmd_tokenizebufferpos;
        cmd_source = src;
        found = false;
@@ -1989,6 +1989,8 @@ command_found:
 
 done:
        cmd_tokenizebufferpos = oldpos;
+       if (lockmutex)
+               Cbuf_UnlockThreadMutex();
 }
 
 
@@ -2106,7 +2108,7 @@ void Cmd_ForwardStringToServer (const char *s)
                                        break;
                                }
                                // write the resulting text
-                               SZ_Write(&cls.netcon->message, (unsigned char *)temp, strlen(temp));
+                               SZ_Write(&cls.netcon->message, (unsigned char *)temp, (int)strlen(temp));
                                s += 2;
                                continue;
                        }