Squashed 'phreeqcpp/' changes from bbd2543..e9db33b

e9db33b Added replacement code for snprintf for vs versions before vs2015 (#30)

git-subtree-dir: phreeqcpp
git-subtree-split: e9db33b14235f3d9018e1205ae05895dd2eb3e2e
This commit is contained in:
Darth Vader 2023-02-11 17:25:04 +00:00
parent fb59ec8b19
commit a4eba15e3b

View File

@ -2081,3 +2081,43 @@ char* _string_duplicate(const char* token, const char* szFileName, int nLine);
#endif
#endif //_INC_UTILITIES_NAMESPACE_H
#ifndef _INC_MISSING_SNPRINTF_H
#define _INC_MISSING_SNPRINTF_H
// Section _INC_MISSING_SNPRINTF_H is based on
// https://stackoverflow.com/questions/2915672/snprintf-and-visual-studio-2010
#if defined(_MSC_VER) && (_MSC_VER < 1900)
#include <stdarg.h>
#define snprintf c99_snprintf
#define vsnprintf c99_vsnprintf
__inline int c99_vsnprintf(char *outBuf, size_t size, const char *format, va_list ap)
{
int count = -1;
if (size != 0)
count = _vsnprintf_s(outBuf, size, _TRUNCATE, format, ap);
if (count == -1)
count = _vscprintf(format, ap);
return count;
}
__inline int c99_snprintf(char *outBuf, size_t size, const char *format, ...)
{
int count;
va_list ap;
va_start(ap, format);
count = c99_vsnprintf(outBuf, size, format, ap);
va_end(ap);
return count;
}
#endif // defined(_MSC_VER) && (_MSC_VER < 1900)
#endif //_INC_MISSING_SNPRINTF_H