Merge pull request #110 from Arkshine/replace-more-snprintf

Replace more snprintf by UTIL_Format.
This commit is contained in:
Vincent Herbet
2014-08-08 20:38:38 +02:00
63 changed files with 438 additions and 79 deletions

View File

@ -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,
@ -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
@ -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.

View File

@ -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__

View File

@ -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;
}
}

View File

@ -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__