]> granicus.if.org Git - vim/commitdiff
updated for version 7.2.360 v7.2.360
authorBram Moolenaar <Bram@vim.org>
Wed, 17 Feb 2010 14:11:50 +0000 (15:11 +0100)
committerBram Moolenaar <Bram@vim.org>
Wed, 17 Feb 2010 14:11:50 +0000 (15:11 +0100)
Problem:    Ruby on MS-Windows: can't use sockets.
Solution:   Call NtInitialize() during initialization. (Ariya Mizutani)

src/if_ruby.c
src/version.c

index 0fed2c01829bc9bfa8aea4cd27f7d06df475a802..4aac79a6b6db9ffe55eb6378de8a47908a4b0f75 100644 (file)
 # endif
 #endif
 
+/* suggested by Ariya Mizutani */
+#if (_MSC_VER == 1200)
+# undef _WIN32_WINNT
+#endif
+
 #include <ruby.h>
 
 #undef EXTERN
@@ -132,6 +137,7 @@ static void ruby_vim_init(void);
 #define ruby_errinfo                   (*dll_ruby_errinfo)
 #define ruby_init                      dll_ruby_init
 #define ruby_init_loadpath             dll_ruby_init_loadpath
+#define NtInitialize                   dll_NtInitialize
 #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
 # define rb_w32_snprintf               dll_rb_w32_snprintf
 #endif
@@ -186,6 +192,7 @@ static VALUE (*dll_rb_str_new2) (const char*);
 static VALUE *dll_ruby_errinfo;
 static void (*dll_ruby_init) (void);
 static void (*dll_ruby_init_loadpath) (void);
+static void (*dll_NtInitialize) (int*, char***);
 #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
 static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...);
 #endif
@@ -248,6 +255,7 @@ static struct
     {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo},
     {"ruby_init", (RUBY_PROC*)&dll_ruby_init},
     {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath},
+    {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize},
 #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
     {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf},
 #endif
@@ -413,6 +421,12 @@ static int ensure_ruby_initialized(void)
 #ifdef DYNAMIC_RUBY
        if (ruby_enabled(TRUE))
        {
+#endif
+#ifdef _WIN32
+           /* suggested by Ariya Mizutani */
+           int argc = 1;
+           char *argv[] = {"gvim.exe"};
+           NtInitialize(&argc, &argv);
 #endif
            ruby_init();
            ruby_init_loadpath();
index 5ffee97d2259e44f19970b8ed82586f2f50098fa..9abb32ae924c50047c5a240b5dcc4cee786403b8 100644 (file)
@@ -681,6 +681,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    360,
 /**/
     359,
 /**/