Added snprintf/vsnprintf helpers to ISourceMod, finally (bug 3530, r=pred).
This commit is contained in:
parent
0cf5f4ae2a
commit
2b97461f54
@ -670,6 +670,26 @@ void SourceModBase::ProcessGameFrameHooks(bool simulating)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
size_t SourceModBase::Format(char *buffer, size_t maxlength, const char *fmt, ...)
|
||||||
|
{
|
||||||
|
size_t len;
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
va_start(ap, fmt);
|
||||||
|
len = FormatArgs(buffer, maxlength, fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
|
||||||
|
return len;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t SourceModBase::FormatArgs(char *buffer,
|
||||||
|
size_t maxlength,
|
||||||
|
const char *fmt,
|
||||||
|
va_list ap)
|
||||||
|
{
|
||||||
|
return UTIL_FormatArgs(buffer, maxlength, fmt, ap);
|
||||||
|
}
|
||||||
|
|
||||||
SMGlobalClass *SMGlobalClass::head = NULL;
|
SMGlobalClass *SMGlobalClass::head = NULL;
|
||||||
|
|
||||||
SMGlobalClass::SMGlobalClass()
|
SMGlobalClass::SMGlobalClass()
|
||||||
|
@ -129,6 +129,8 @@ public: // ISourceMod
|
|||||||
void AddGameFrameHook(GAME_FRAME_HOOK hook);
|
void AddGameFrameHook(GAME_FRAME_HOOK hook);
|
||||||
void RemoveGameFrameHook(GAME_FRAME_HOOK hook);
|
void RemoveGameFrameHook(GAME_FRAME_HOOK hook);
|
||||||
void ProcessGameFrameHooks(bool simulating);
|
void ProcessGameFrameHooks(bool simulating);
|
||||||
|
size_t Format(char *buffer, size_t maxlength, const char *fmt, ...);
|
||||||
|
size_t FormatArgs(char *buffer, size_t maxlength, const char *fmt, va_list ap);
|
||||||
private:
|
private:
|
||||||
CStack<CDataPack *> m_freepacks;
|
CStack<CDataPack *> m_freepacks;
|
||||||
char m_SMBaseDir[PLATFORM_MAX_PATH];
|
char m_SMBaseDir[PLATFORM_MAX_PATH];
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#define SMINTERFACE_SOURCEMOD_NAME "ISourceMod"
|
#define SMINTERFACE_SOURCEMOD_NAME "ISourceMod"
|
||||||
#define SMINTERFACE_SOURCEMOD_VERSION 7
|
#define SMINTERFACE_SOURCEMOD_VERSION 8
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Forward declaration of the KeyValues class.
|
* @brief Forward declaration of the KeyValues class.
|
||||||
@ -248,6 +248,28 @@ namespace SourceMod
|
|||||||
* @param hook Hook function.
|
* @param hook Hook function.
|
||||||
*/
|
*/
|
||||||
virtual void RemoveGameFrameHook(GAME_FRAME_HOOK hook) =0;
|
virtual void RemoveGameFrameHook(GAME_FRAME_HOOK hook) =0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Platform-safe wrapper around snprintf().
|
||||||
|
*
|
||||||
|
* @param buffer String buffer.
|
||||||
|
* @param maxlength Maximum length of buffer.
|
||||||
|
* @param fmt Format specifier string.
|
||||||
|
* @param ... Format arguments.
|
||||||
|
* @return Number of bytes (not including null terminator) written.
|
||||||
|
*/
|
||||||
|
virtual size_t Format(char *buffer, size_t maxlength, const char *fmt, ...) = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Platform-safe wrapper around vsnprintf().
|
||||||
|
*
|
||||||
|
* @param buffer String buffer.
|
||||||
|
* @param maxlength Maximum length of buffer.
|
||||||
|
* @param fmt Format specifier string.
|
||||||
|
* @param ap Format arguments.
|
||||||
|
* @return Number of bytes (not including null terminator) written.
|
||||||
|
*/
|
||||||
|
virtual size_t FormatArgs(char *buffer, size_t maxlength, const char *fmt, va_list ap) = 0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user