diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | common.mk | 3 | ||||
-rw-r--r-- | win32/win32.c | 17 |
3 files changed, 24 insertions, 3 deletions
@@ -1,4 +1,9 @@ -Sun Jun 30 10:59:04 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> +Sun Jun 30 10:59:09 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + rb_w32_udln_find_file_r + + * win32/win32.c (rb_w32_udln_find_exe_r, rb_w32_udln_find_file_r): + codepage independent versions. * win32/win32.c (w32_spawn): extract codepage aware code from rb_w32_spawn(). @@ -831,7 +831,8 @@ unicode.$(OBJEXT): {$(VPATH)}unicode.c {$(VPATH)}regint.h \ utf_8.$(OBJEXT): {$(VPATH)}utf_8.c {$(VPATH)}regenc.h {$(VPATH)}config.h \ {$(VPATH)}oniguruma.h {$(VPATH)}missing.h $(RUBY_H_INCLUDES) -win32/win32.$(OBJEXT): {$(VPATH)}win32/win32.c $(RUBY_H_INCLUDES) $(PLATFORM_D) +win32/win32.$(OBJEXT): {$(VPATH)}win32/win32.c {$(VPATH)}dln.h {$(VPATH)}dln_find.c \ + $(RUBY_H_INCLUDES) $(PLATFORM_D) win32/file.$(OBJEXT): {$(VPATH)}win32/file.c $(RUBY_H_INCLUDES) $(PLATFORM_D) $(NEWLINE_C): $(srcdir)/enc/trans/newline.trans $(srcdir)/tool/transcode-tblgen.rb diff --git a/win32/win32.c b/win32/win32.c index 39b89a3a9d..7653256fb2 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -21,7 +21,6 @@ #include "ruby/ruby.h" #include "ruby/encoding.h" -#include "dln.h" #include <fcntl.h> #include <process.h> #include <sys/stat.h> @@ -52,6 +51,22 @@ static int w32_stati64(const char *path, struct stati64 *st, UINT cp); static char *w32_getenv(const char *name, UINT cp); +#undef getenv +#define DLN_FIND_EXTRA_ARG_DECL ,UINT cp +#define DLN_FIND_EXTRA_ARG ,cp +#define rb_w32_stati64(path, st) w32_stati64(path, st, cp) +#define getenv(name) w32_getenv(name, cp) +#define dln_find_exe_r rb_w32_udln_find_exe_r +#define dln_find_file_r rb_w32_udln_find_file_r +#include "dln.h" +#include "dln_find.c" +#undef MAXPATHLEN +#undef rb_w32_stati64 +#undef dln_find_exe_r +#undef dln_find_file_r +#define dln_find_exe_r(fname, path, buf, size) rb_w32_udln_find_exe_r(fname, path, buf, size, cp) +#define dln_find_file_r(fname, path, buf, size) rb_w32_udln_find_file_r(fname, path, buf, size, cp) + #undef stat #undef fclose #undef close |