Added IMGUI_USE_STB_SPRINTF (undocumented) (#1038)

This commit is contained in:
omar 2019-01-08 15:28:33 +01:00
parent b33977bc15
commit 57b1622afc

View File

@ -1351,6 +1351,11 @@ void ImStrTrimBlanks(char* buf)
// B) When buf==NULL vsnprintf() will return the output size. // B) When buf==NULL vsnprintf() will return the output size.
#ifndef IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS #ifndef IMGUI_DISABLE_FORMAT_STRING_FUNCTIONS
#ifdef IMGUI_USE_STB_SPRINTF
#define STB_SPRINTF_IMPLEMENTATION
#include "imstb_sprintf.h"
#endif
#if defined(_MSC_VER) && !defined(vsnprintf) #if defined(_MSC_VER) && !defined(vsnprintf)
#define vsnprintf _vsnprintf #define vsnprintf _vsnprintf
#endif #endif
@ -1359,7 +1364,11 @@ int ImFormatString(char* buf, size_t buf_size, const char* fmt, ...)
{ {
va_list args; va_list args;
va_start(args, fmt); va_start(args, fmt);
#ifdef IMGUI_USE_STB_SPRINTF
int w = stbsp_vsnprintf(buf, (int)buf_size, fmt, args);
#else
int w = vsnprintf(buf, buf_size, fmt, args); int w = vsnprintf(buf, buf_size, fmt, args);
#endif
va_end(args); va_end(args);
if (buf == NULL) if (buf == NULL)
return w; return w;
@ -1371,7 +1380,11 @@ int ImFormatString(char* buf, size_t buf_size, const char* fmt, ...)
int ImFormatStringV(char* buf, size_t buf_size, const char* fmt, va_list args) int ImFormatStringV(char* buf, size_t buf_size, const char* fmt, va_list args)
{ {
#ifdef IMGUI_USE_STB_SPRINTF
int w = stbsp_vsnprintf(buf, (int)buf_size, fmt, args);
#else
int w = vsnprintf(buf, buf_size, fmt, args); int w = vsnprintf(buf, buf_size, fmt, args);
#endif
if (buf == NULL) if (buf == NULL)
return w; return w;
if (w == -1 || w >= (int)buf_size) if (w == -1 || w >= (int)buf_size)