]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - prvm_exec.c
com: rename BSD strlcpy and strlcat
[xonotic/darkplaces.git] / prvm_exec.c
index fd0ff40b9f5fe802adea919a93cc0e288c68a419..e3ad8a8283295907ee0b684eadae80ee268f9ff6 100644 (file)
@@ -441,7 +441,7 @@ void PRVM_ShortStackTrace(prvm_prog_t *prog, char *buf, size_t bufsize)
        }
        else
        {
-               strlcpy(buf, "<NO PROG>", bufsize);
+               dp_strlcpy(buf, "<NO PROG>", bufsize);
                return;
        }
 
@@ -451,7 +451,7 @@ void PRVM_ShortStackTrace(prvm_prog_t *prog, char *buf, size_t bufsize)
        {
                f = prog->stack[i].f;
 
-               if(strlcat(buf,
+               if(dp_strlcat(buf,
                        f
                                ? va(vabuf, sizeof(vabuf), "%s:%s(%i) ", PRVM_GetString(prog, f->s_file), PRVM_GetString(prog, f->s_name), prog->stack[i].s - f->first_statement)
                                : "<NULL> ",
@@ -715,6 +715,7 @@ extern cvar_t prvm_errordump;
 void PRVM_Crash(prvm_prog_t *prog)
 {
        char vabuf[1024];
+       int outfd = sys.outfd;
 
        cl.csqc_loaded = false;
 
@@ -723,6 +724,9 @@ void PRVM_Crash(prvm_prog_t *prog)
        if (!prog->loaded)
                return;
 
+       // set output to stderr
+       sys.outfd = fileno(stderr);
+
        PRVM_serverfunction(SV_Shutdown) = 0; // don't call SV_Shutdown on crash
 
        if( prog->depth > 0 )
@@ -746,6 +750,9 @@ void PRVM_Crash(prvm_prog_t *prog)
 
        // reset the prog pointer
        prog = NULL;
+
+       // restore configured outfd
+       sys.outfd = outfd;
 }
 
 /*