summaryrefslogtreecommitdiff
path: root/include/ruby
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-26 15:31:38 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-26 15:31:38 +0000
commit6e4aa0c61ea35ccfe0af41b52c6d4b3115cbfb5f (patch)
tree08049faba4255c404d4497a9842a54f26121d62c /include/ruby
parentacc19b74ab447a58da5816af37225506d644de03 (diff)
merges r24179 from trunk into ruby_1_9_1.
-- * include/ruby/win32.h: include winsock headers in extern "C++" for C++ extension libraries. * include/ruby/missing.h (vsnprintf): workaround for VC++. [ruby-core:23096] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@24287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include/ruby')
-rw-r--r--include/ruby/missing.h8
-rw-r--r--include/ruby/win32.h6
2 files changed, 7 insertions, 7 deletions
diff --git a/include/ruby/missing.h b/include/ruby/missing.h
index d553f1c738..61524d2db1 100644
--- a/include/ruby/missing.h
+++ b/include/ruby/missing.h
@@ -151,13 +151,7 @@ RUBY_EXTERN long strtol(const char *, char **, int);
RUBY_EXTERN int snprintf(char *, size_t n, char const *, ...);
#endif
#ifndef HAVE_VSNPRINTF
-# if _MSC_VER >= 1300
-# pragma warning(disable: 4273)
-# endif
-RUBY_EXTERN int vsnprintf(char *, size_t n, char const *, va_list);
-# if _MSC_VER >= 1300
-# pragma warning(default: 4273)
-# endif
+extern int vsnprintf(char *, size_t n, char const *, va_list);
#endif
#ifndef HAVE_STRLCPY
diff --git a/include/ruby/win32.h b/include/ruby/win32.h
index 46388a3ae2..c8da5044ae 100644
--- a/include/ruby/win32.h
+++ b/include/ruby/win32.h
@@ -27,8 +27,14 @@ extern "C" {
// #include <stdarg.h> conflict with varargs.h?
#if !defined(WSAAPI)
+#if defined(__cplusplus) && defined(_MSC_VER)
+extern "C++" { /* template without extern "C++" */
+#endif
#include <winsock2.h>
#include <ws2tcpip.h>
+#if defined(__cplusplus) && defined(_MSC_VER)
+}
+#endif
#endif
#define NT 1 /* deprecated */