Restore checked strlen conversions.
authorTom Sepez <tsepez@chromium.org>
Tue, 12 May 2015 21:49:29 +0000 (14:49 -0700)
committerTom Sepez <tsepez@chromium.org>
Tue, 12 May 2015 21:49:29 +0000 (14:49 -0700)
The checked conversion can be re-enabled now that there is a public
API free of private headers like this one.

This reverts commit 6661fd4c26106cd530d187b36f29be7e5c98b70f.

R=thestig@chromium.org

Review URL: https://codereview.chromium.org/1133323003

core/include/fxcrt/fx_system.h

index 37af19c..9cc165f 100644 (file)
@@ -192,8 +192,16 @@ void FXSYS_vsnprintf(char *str, size_t size, const char* fmt, va_list ap);
 FXSYS_FILE* FXSYS_wfopen(FX_LPCWSTR filename, FX_LPCWSTR mode);
 #endif
 
+#ifdef __cplusplus
+} // extern "C"
+#include "../../../third_party/base/numerics/safe_conversions.h"
+#define FXSYS_strlen(ptr) pdfium::base::checked_cast<FX_STRSIZE>(strlen(ptr))
+#define FXSYS_wcslen(ptr) pdfium::base::checked_cast<FX_STRSIZE>(wcslen(ptr))
+extern "C" {
+#else
 #define FXSYS_strlen(ptr) ((FX_STRSIZE)strlen(ptr))
 #define FXSYS_wcslen(ptr) ((FX_STRSIZE)wcslen(ptr))
+#endif
 
 #define FXSYS_wcscmp   wcscmp
 #define FXSYS_wcschr   wcschr