aboutsummaryrefslogtreecommitdiffstats
path: root/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'process.c')
-rw-r--r--process.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/process.c b/process.c
index b076a1a818..b23699a76e 100644
--- a/process.c
+++ b/process.c
@@ -1276,7 +1276,7 @@ proc_exec_sh(const char *str, VALUE envp_str)
}
#ifdef _WIN32
- rb_w32_spawn(P_OVERLAY, (char *)str, 0);
+ rb_w32_uspawn(P_OVERLAY, (char *)str, 0);
return -1;
#else
#if defined(__CYGWIN32__) || defined(__EMX__)
@@ -1354,6 +1354,9 @@ static const rb_data_type_t exec_arg_data_type = {
{mark_exec_arg, free_exec_arg, memsize_exec_arg},
};
+#ifdef _WIN32
+# define DEFAULT_PROCESS_ENCODING rb_utf8_encoding()
+#endif
#ifdef DEFAULT_PROCESS_ENCODING
# define EXPORT_STR(str) rb_str_export_to_enc((str), DEFAULT_PROCESS_ENCODING)
# define EXPORT_DUP(str) export_dup(str)
@@ -1380,7 +1383,7 @@ export_dup(VALUE str)
#if USE_SPAWNV
#if defined(_WIN32)
-#define proc_spawn_cmd_internal(argv, prog) rb_w32_aspawn(P_NOWAIT, (prog), (argv))
+#define proc_spawn_cmd_internal(argv, prog) rb_w32_uaspawn(P_NOWAIT, (prog), (argv))
#else
static rb_pid_t
proc_spawn_cmd_internal(char **argv, char *prog)
@@ -1419,7 +1422,7 @@ proc_spawn_cmd(char **argv, VALUE prog, struct rb_execarg *eargp)
if (eargp->new_pgroup_given && eargp->new_pgroup_flag) {
flags = CREATE_NEW_PROCESS_GROUP;
}
- pid = rb_w32_aspawn_flags(P_NOWAIT, prog ? RSTRING_PTR(prog) : 0, argv, flags);
+ pid = rb_w32_uaspawn_flags(P_NOWAIT, prog ? RSTRING_PTR(prog) : 0, argv, flags);
#else
pid = proc_spawn_cmd_internal(argv, prog ? RSTRING_PTR(prog) : 0);
#endif
@@ -1428,7 +1431,7 @@ proc_spawn_cmd(char **argv, VALUE prog, struct rb_execarg *eargp)
}
#if defined(_WIN32)
-#define proc_spawn_sh(str) rb_w32_spawn(P_NOWAIT, (str), 0)
+#define proc_spawn_sh(str) rb_w32_uspawn(P_NOWAIT, (str), 0)
#else
static rb_pid_t
proc_spawn_sh(char *str)