From 5d4309d068f731a17be791b0dfe6e484a39c25c8 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 14 Oct 2016 15:54:03 +0000 Subject: process.c: use uaspawn * process.c (proc_exec_cmd): use UTF-8 version aspawn. [ruby-dev:49838] [Bug #12841] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- process.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'process.c') diff --git a/process.c b/process.c index aaaf846684..1171060201 100644 --- a/process.c +++ b/process.c @@ -1247,7 +1247,9 @@ proc_exec_cmd(const char *prog, VALUE argv_str, VALUE envp_str) UNREACHABLE; #else char **argv; +#ifndef _WIN32 char **envp; +#endif argv = ARGVSTR2ARGV(argv_str); @@ -1256,12 +1258,16 @@ proc_exec_cmd(const char *prog, VALUE argv_str, VALUE envp_str) return -1; } +#ifdef _WIN32 + rb_w32_uaspawn(P_OVERLAY, prog, argv); +#else envp = envp_str ? (char **)RSTRING_PTR(envp_str) : NULL; if (envp_str) execve(prog, argv, envp); /* async-signal-safe */ else execv(prog, argv); /* async-signal-safe (since SUSv4) */ preserving_errno(try_with_sh(prog, argv, envp)); /* try_with_sh() is async-signal-safe. */ +#endif return -1; #endif } -- cgit v1.2.3