- Replace vsprintf function in bg_lib.c with vsnprintf implementation started by Patrick Powell.
- Remove all calls to vsprintf in the engine and gamecode and replace them with calls to vsnprintf.
This commit is contained in:
parent
5728fc2ec8
commit
bb47026b5f
19 changed files with 813 additions and 309 deletions
|
@ -295,7 +295,7 @@ void COM_ParseError( char *format, ... )
|
|||
static char string[4096];
|
||||
|
||||
va_start (argptr, format);
|
||||
vsprintf (string, format, argptr);
|
||||
Q_vsnprintf (string, sizeof(string), format, argptr);
|
||||
va_end (argptr);
|
||||
|
||||
Com_Printf("ERROR: %s, line %d: %s\n", com_parsename, com_lines, string);
|
||||
|
@ -307,7 +307,7 @@ void COM_ParseWarning( char *format, ... )
|
|||
static char string[4096];
|
||||
|
||||
va_start (argptr, format);
|
||||
vsprintf (string, format, argptr);
|
||||
Q_vsnprintf (string, sizeof(string), format, argptr);
|
||||
va_end (argptr);
|
||||
|
||||
Com_Printf("WARNING: %s, line %d: %s\n", com_parsename, com_lines, string);
|
||||
|
@ -928,7 +928,7 @@ void QDECL Com_sprintf( char *dest, int size, const char *fmt, ...) {
|
|||
char bigbuffer[32000]; // big, but small enough to fit in PPC stack
|
||||
|
||||
va_start (argptr,fmt);
|
||||
len = vsprintf (bigbuffer,fmt,argptr);
|
||||
len = Q_vsnprintf (bigbuffer, sizeof(bigbuffer), fmt,argptr);
|
||||
va_end (argptr);
|
||||
if ( len >= sizeof( bigbuffer ) ) {
|
||||
Com_Error( ERR_FATAL, "Com_sprintf: overflowed bigbuffer" );
|
||||
|
@ -951,20 +951,19 @@ va
|
|||
|
||||
does a varargs printf into a temp buffer, so I don't need to have
|
||||
varargs versions of all text functions.
|
||||
FIXME: make this buffer size safe someday
|
||||
============
|
||||
*/
|
||||
char * QDECL va( char *format, ... ) {
|
||||
va_list argptr;
|
||||
static char string[2][32000]; // in case va is called by nested functions
|
||||
static int index = 0;
|
||||
char *buf;
|
||||
static char string[2][32000]; // in case va is called by nested functions
|
||||
static int index = 0;
|
||||
char *buf;
|
||||
|
||||
buf = string[index & 1];
|
||||
index++;
|
||||
|
||||
va_start (argptr, format);
|
||||
vsprintf (buf, format,argptr);
|
||||
Q_vsnprintf (buf, sizeof(*string), format, argptr);
|
||||
va_end (argptr);
|
||||
|
||||
return buf;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue