Skip to content

Commit

Permalink
Merge pull request alliedmodders#110 from Arkshine/replace-more-snprintf
Browse files Browse the repository at this point in the history
Replace more snprintf by UTIL_Format.
  • Loading branch information
Arkshine committed Aug 8, 2014
2 parents 02bed88 + 62eac5d commit 570c9cf
Show file tree
Hide file tree
Showing 63 changed files with 438 additions and 79 deletions.
4 changes: 0 additions & 4 deletions amxmodx/CLang.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@
#include "CLang.h"
#include "format.h"

#if defined(__linux__) || defined(__APPLE__)
#define _snprintf snprintf
#endif

#define LITIDX_NONE 0
#define LITIDX_BRACKET 1
#define LITIDX_DEFINITION 2
Expand Down
4 changes: 0 additions & 4 deletions amxmodx/amx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4092,10 +4092,6 @@ int AMXAPI amx_GetLibraries(AMX *amx)
return numLibraries;
}

#if defined(__linux__) || defined(__APPLE__)
#define _snprintf snprintf
#endif

const char *AMXAPI amx_GetLibrary(AMX *amx, int index, char *buffer, int len)
{
AMX_HEADER *hdr = (AMX_HEADER *)amx->base;
Expand Down
2 changes: 1 addition & 1 deletion amxmodx/libraries.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ size_t AddLibrariesFromString(const char *name, LibType type, LibSource src, voi
char *ptr, *p, s;
size_t count = 0;

snprintf(buffer, sizeof(buffer)-1, "%s", name);
UTIL_Format(buffer, sizeof(buffer)-1, "%s", name);

ptr = buffer;
p = buffer;
Expand Down
18 changes: 18 additions & 0 deletions amxmodx/sdk/amxxmodule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3124,3 +3124,21 @@ unsigned short FixedUnsigned16( float value, float scale )
return (unsigned short)output;
}
#endif // USE_METAMOD

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
size_t len = vsnprintf(buffer, maxlength, fmt, ap);
va_end(ap);

if (len >= maxlength)
{
buffer[maxlength - 1] = '\0';
return (maxlength - 1);
}
else
{
return len;
}
}
2 changes: 2 additions & 0 deletions amxmodx/sdk/amxxmodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2495,4 +2495,6 @@ void Mem_Deallocator(const char *sourceFile, const unsigned int sourceLine, cons

#endif //MEMORY_TEST

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...);

#endif // #ifndef __AMXXMODULE_H__
18 changes: 18 additions & 0 deletions dlls/cstrike/cstrike/sdk/amxxmodule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3124,3 +3124,21 @@ unsigned short FixedUnsigned16( float value, float scale )
return (unsigned short)output;
}
#endif // USE_METAMOD

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
size_t len = vsnprintf(buffer, maxlength, fmt, ap);
va_end(ap);

if (len >= maxlength)
{
buffer[maxlength - 1] = '\0';
return (maxlength - 1);
}
else
{
return len;
}
}
2 changes: 2 additions & 0 deletions dlls/cstrike/cstrike/sdk/amxxmodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2495,4 +2495,6 @@ void Mem_Deallocator(const char *sourceFile, const unsigned int sourceLine, cons

#endif //MEMORY_TEST

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...);

#endif // #ifndef __AMXXMODULE_H__
22 changes: 20 additions & 2 deletions dlls/cstrike/csx/WinCSX/WinCSX.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,24 @@
#include <stdio.h>
#include "commctrl.h"

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
size_t len = vsnprintf(buffer, maxlength, fmt, ap);
va_end(ap);

if (len >= maxlength)
{
buffer[maxlength - 1] = '\0';
return (maxlength - 1);
}
else
{
return len;
}
}

int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
Expand Down Expand Up @@ -178,7 +196,7 @@ void UpdateListBox(HWND hDlg) {
//if ((*b).getPosition() < 1) // umm... naaah!
//continue;

_snprintf(tempbuffer, 1023, "%s", (*b).getName());
UTIL_Format(tempbuffer, sizeof(tempbuffer)-1, "%s", (*b).getName());

SendMessage( // returns LRESULT in lResult
listbox, // handle to destination control
Expand Down Expand Up @@ -325,7 +343,7 @@ void SaveChanges(HWND hDlg) {
UpdateListBox(hDlg);

char buffer[256];
_snprintf(buffer, 255, "New rank of %s: %d", name, newPosition);
UTIL_Format(buffer, sizeof(buffer)-1, "New rank of %s: %d", name, newPosition);
MessageBox(hDlg, buffer, "Update succeeded", MB_OK);

// In the listbox, we need to reselect the item we just updated. Use the new name.
Expand Down
2 changes: 2 additions & 0 deletions dlls/cstrike/csx/WinCSX/amxxmodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2495,4 +2495,6 @@ void Mem_Deallocator(const char *sourceFile, const unsigned int sourceLine, cons

#endif //MEMORY_TEST

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...);

#endif // #ifndef __AMXXMODULE_H__
18 changes: 18 additions & 0 deletions dlls/cstrike/csx/sdk/amxxmodule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3124,3 +3124,21 @@ unsigned short FixedUnsigned16( float value, float scale )
return (unsigned short)output;
}
#endif // USE_METAMOD

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
size_t len = vsnprintf(buffer, maxlength, fmt, ap);
va_end(ap);

if (len >= maxlength)
{
buffer[maxlength - 1] = '\0';
return (maxlength - 1);
}
else
{
return len;
}
}
2 changes: 2 additions & 0 deletions dlls/cstrike/csx/sdk/amxxmodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2495,4 +2495,6 @@ void Mem_Deallocator(const char *sourceFile, const unsigned int sourceLine, cons

#endif //MEMORY_TEST

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...);

#endif // #ifndef __AMXXMODULE_H__
18 changes: 18 additions & 0 deletions dlls/dod/dodfun/sdk/amxxmodule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3124,3 +3124,21 @@ unsigned short FixedUnsigned16( float value, float scale )
return (unsigned short)output;
}
#endif // USE_METAMOD

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
size_t len = vsnprintf(buffer, maxlength, fmt, ap);
va_end(ap);

if (len >= maxlength)
{
buffer[maxlength - 1] = '\0';
return (maxlength - 1);
}
else
{
return len;
}
}
2 changes: 2 additions & 0 deletions dlls/dod/dodfun/sdk/amxxmodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2495,4 +2495,6 @@ void Mem_Deallocator(const char *sourceFile, const unsigned int sourceLine, cons

#endif //MEMORY_TEST

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...);

#endif // #ifndef __AMXXMODULE_H__
18 changes: 18 additions & 0 deletions dlls/dod/dodx/sdk/amxxmodule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3124,3 +3124,21 @@ unsigned short FixedUnsigned16( float value, float scale )
return (unsigned short)output;
}
#endif // USE_METAMOD

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
size_t len = vsnprintf(buffer, maxlength, fmt, ap);
va_end(ap);

if (len >= maxlength)
{
buffer[maxlength - 1] = '\0';
return (maxlength - 1);
}
else
{
return len;
}
}
2 changes: 2 additions & 0 deletions dlls/dod/dodx/sdk/amxxmodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2495,4 +2495,6 @@ void Mem_Deallocator(const char *sourceFile, const unsigned int sourceLine, cons

#endif //MEMORY_TEST

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...);

#endif // #ifndef __AMXXMODULE_H__
5 changes: 2 additions & 3 deletions dlls/engine/engine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ int g_CameraCount;

TraceResult g_tr;

#define BUFFERSIZE 1023
char g_buffer[BUFFERSIZE + 1];
char g_buffer[1024];

void UTIL_SetSize(edict_t *pev, const Vector &vecMin, const Vector &vecMax)
{
Expand Down Expand Up @@ -870,7 +869,7 @@ static cell AMX_NATIVE_CALL traceresult(AMX *amx, cell *params)
// (jghg)
static cell AMX_NATIVE_CALL get_string(AMX *amx, cell *params) // (string, returnstring[], length)
{
snprintf(g_buffer, BUFFERSIZE, "%s", STRING(params[1]));
UTIL_Format(g_buffer, sizeof(g_buffer)-1, "%s", STRING(params[1]));
return MF_SetAmxString(amx, params[2], g_buffer, params[3]);
}

Expand Down
18 changes: 18 additions & 0 deletions dlls/engine/sdk/amxxmodule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3124,3 +3124,21 @@ unsigned short FixedUnsigned16( float value, float scale )
return (unsigned short)output;
}
#endif // USE_METAMOD

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
size_t len = vsnprintf(buffer, maxlength, fmt, ap);
va_end(ap);

if (len >= maxlength)
{
buffer[maxlength - 1] = '\0';
return (maxlength - 1);
}
else
{
return len;
}
}
2 changes: 2 additions & 0 deletions dlls/engine/sdk/amxxmodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2495,4 +2495,6 @@ void Mem_Deallocator(const char *sourceFile, const unsigned int sourceLine, cons

#endif //MEMORY_TEST

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...);

#endif // #ifndef __AMXXMODULE_H__
10 changes: 5 additions & 5 deletions dlls/fakemeta/pev.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -299,23 +299,23 @@ static cell AMX_NATIVE_CALL amx_pev(AMX *amx,cell *params)
return num;
} else if (ValType & Ret_Int) {
char temp[32];
snprintf(temp, 31, "%d", rets.i);
UTIL_Format(temp, sizeof(temp)-1, "%d", rets.i);
return MF_SetAmxString(amx, params[3], temp, size);
} else if (ValType == Ret_Float) {
char temp[32];
snprintf(temp, 31, "%f", rets.f);
UTIL_Format(temp, sizeof(temp)-1, "%f", rets.f);
return MF_SetAmxString(amx, params[3], temp, size);
} else if (ValType == Ret_Vec) {
char temp[32];
snprintf(temp, 31, "%f %f %f", vr.x, vr.y, vr.z);
UTIL_Format(temp, sizeof(temp)-1, "%f %f %f", vr.x, vr.y, vr.z);
return MF_SetAmxString(amx, params[3], temp, size);
} else if (ValType == Ret_Bytes2) {
char temp[32];
snprintf(temp, 31, "%d %d", rets.ba[0], rets.ba[1]);
UTIL_Format(temp, sizeof(temp)-1, "%d %d", rets.ba[0], rets.ba[1]);
return MF_SetAmxString(amx, params[3], temp, size);
} else if (ValType == Ret_Bytes4) {
char temp[32];
snprintf(temp, 31, "%d %d %d %d", rets.ba[0], rets.ba[1], rets.ba[2], rets.ba[3]);
UTIL_Format(temp, sizeof(temp)-1, "%d %d %d %d", rets.ba[0], rets.ba[1], rets.ba[2], rets.ba[3]);
return MF_SetAmxString(amx, params[3], temp, size);
}

Expand Down
18 changes: 18 additions & 0 deletions dlls/fakemeta/sdk/amxxmodule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3124,3 +3124,21 @@ unsigned short FixedUnsigned16( float value, float scale )
return (unsigned short)output;
}
#endif // USE_METAMOD

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
size_t len = vsnprintf(buffer, maxlength, fmt, ap);
va_end(ap);

if (len >= maxlength)
{
buffer[maxlength - 1] = '\0';
return (maxlength - 1);
}
else
{
return len;
}
}
2 changes: 2 additions & 0 deletions dlls/fakemeta/sdk/amxxmodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2495,4 +2495,6 @@ void Mem_Deallocator(const char *sourceFile, const unsigned int sourceLine, cons

#endif //MEMORY_TEST

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...);

#endif // #ifndef __AMXXMODULE_H__
18 changes: 18 additions & 0 deletions dlls/fun/sdk/amxxmodule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3124,3 +3124,21 @@ unsigned short FixedUnsigned16( float value, float scale )
return (unsigned short)output;
}
#endif // USE_METAMOD

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
size_t len = vsnprintf(buffer, maxlength, fmt, ap);
va_end(ap);

if (len >= maxlength)
{
buffer[maxlength - 1] = '\0';
return (maxlength - 1);
}
else
{
return len;
}
}
2 changes: 2 additions & 0 deletions dlls/fun/sdk/amxxmodule.h
Original file line number Diff line number Diff line change
Expand Up @@ -2495,4 +2495,6 @@ void Mem_Deallocator(const char *sourceFile, const unsigned int sourceLine, cons

#endif //MEMORY_TEST

size_t UTIL_Format(char *buffer, size_t maxlength, const char *fmt, ...);

#endif // #ifndef __AMXXMODULE_H__
4 changes: 0 additions & 4 deletions dlls/geoip/geoip_amxx.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@
#include "GeoIP2/maxminddb.h"
#include "amxxmodule.h"

#if defined(WIN32)
#define snprintf _snprintf
#endif

extern AMX_NATIVE_INFO geoip_natives[];

#endif //_INCLUDE_GEOIPAMXX_H
2 changes: 1 addition & 1 deletion dlls/geoip/geoip_main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ bool loadDatabase()
// MF_BuildPathname not used because backslash
// makes CreateFileMapping failing under windows.

snprintf(file, sizeof(file)-1, "%s/%s/GeoLite2-%s.mmdb", modName, dataDir, databases[i]);
UTIL_Format(file, sizeof(file)-1, "%s/%s/GeoLite2-%s.mmdb", modName, dataDir, databases[i]);

status = MMDB_open(file, MMDB_MODE_MMAP, &HandleDB);

Expand Down
2 changes: 1 addition & 1 deletion dlls/geoip/geoip_natives.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ static cell AMX_NATIVE_CALL amx_geoip_region_code(AMX *amx, cell *params)
if (countryCode)
{
finalLength = length + 1; // + 1 for dash.
snprintf(code, finalLength + 1, "%s-", countryCode); // + EOS.
UTIL_Format(code, finalLength + 1, "%s-", countryCode); // + EOS.

const char *pathRegion[] = { "subdivisions", "0", "iso_code", NULL }; // First result.
const char *regionCode = lookupString(ip, pathRegion, &length);
Expand Down
Loading

0 comments on commit 570c9cf

Please sign in to comment.