Revision: 13607
Author: [email protected]
Date: Wed Feb 6 05:04:02 2013
Log: Simplify secure API functions workaround for MinGW
If MINGW_HAS_SECURE_API is defined, the definitions of localtime_s,
fopen_s, _vsnprintf_s, strncpy_s had to be renamed using #define
so they would not conflict with definitions in the standard headers.
A simpler way to handle this is to undefine MINGW_HAS_SECURE_API before
including the standard headers.
Contributed by [email protected]
BUGS=
TEST=
Review URL: https://chromiumcodereview.appspot.com/12210033
Patch from Jonathan Liu <[email protected]>.
http://code.google.com/p/v8/source/detail?r=13607
Modified:
/branches/bleeding_edge/src/platform-win32.cc
=======================================
--- /branches/bleeding_edge/src/platform-win32.cc Wed Feb 6 02:59:50 2013
+++ /branches/bleeding_edge/src/platform-win32.cc Wed Feb 6 05:04:02 2013
@@ -27,6 +27,17 @@
// Platform specific code for Win32.
+// Secure API functions are not available using MinGW with msvcrt.dll
+// on Windows XP. Make sure MINGW_HAS_SECURE_API is not defined to
+// disable definition of secure API functions in standard headers that
+// would conflict with our own implementation.
+#ifdef __MINGW32__
+#include <_mingw.h>
+#ifdef MINGW_HAS_SECURE_API
+#undef MINGW_HAS_SECURE_API
+#endif // MINGW_HAS_SECURE_API
+#endif // __MINGW32__
+
#define V8_WIN32_HEADERS_FULL
#include "win32-headers.h"
@@ -65,14 +76,6 @@
#endif // __MINGW64_VERSION_MAJOR
-#ifdef MINGW_HAS_SECURE_API
-#define localtime_s v8_localtime_s
-#define fopen_s v8_fopen_s
-#define _vsnprintf_s v8_vsnprintf_s
-#define strncpy_s v8_strncpy_s
-#endif // MINGW_HAS_SECURE_API
-
-
int localtime_s(tm* out_tm, const time_t* time) {
tm* posix_local_time_struct = localtime(time);
if (posix_local_time_struct == NULL) return 1;
@@ -818,10 +821,6 @@
#undef _TRUNCATE
#undef STRUNCATE
-#undef localtime_s
-#undef fopen_s
-#undef _vsnprintf_s
-#undef strncpy_s
// We keep the lowest and highest addresses mapped as a quick way of
// determining that pointers are outside the heap (used mostly in
assertions
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.