summaryrefslogtreecommitdiff
path: root/core/src/fxcrt/fx_basic_util.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-04-10 14:54:13 -0700
committerTom Sepez <tsepez@chromium.org>2015-04-10 14:54:13 -0700
commit73fb6be8290a20dbccc40de328e7860f721966c6 (patch)
treed96a737f4ff36bfa40307c2d96ce3986971227dd /core/src/fxcrt/fx_basic_util.cpp
parentb739aab3e0345afc22c325ed62e226df6b1e3965 (diff)
downloadpdfium-73fb6be8290a20dbccc40de328e7860f721966c6.tar.xz
Merge to XFA: Better fix for snprintf non-termination on windows.
TBR=brucedawson@chromium.org Review URL: https://codereview.chromium.org/1073313003
Diffstat (limited to 'core/src/fxcrt/fx_basic_util.cpp')
-rw-r--r--core/src/fxcrt/fx_basic_util.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/core/src/fxcrt/fx_basic_util.cpp b/core/src/fxcrt/fx_basic_util.cpp
index 5a40c2b4be..c3df07fef5 100644
--- a/core/src/fxcrt/fx_basic_util.cpp
+++ b/core/src/fxcrt/fx_basic_util.cpp
@@ -169,6 +169,24 @@ FX_FLOAT FX_atof(FX_BSTR strc)
}
return bNegative ? -value : value;
}
+
+#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ && _MSC_VER < 1900
+void FXSYS_snprintf(char *str, size_t size, _Printf_format_string_ const char* fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ FXSYS_vsnprintf(str, size, fmt, ap);
+ va_end(ap);
+}
+void FXSYS_vsnprintf(char *str, size_t size, const char* fmt, va_list ap)
+{
+ (void) _vsnprintf(str, size, fmt, ap);
+ if (size) {
+ str[size - 1] = 0;
+ }
+}
+#endif // _FXM_PLATFORM_WINDOWS_ && _MSC_VER < 1900
+
static FX_BOOL FX_IsDigit(FX_BYTE ch)
{
return (ch >= '0' && ch <= '9') ? TRUE : FALSE;