diff options
Diffstat (limited to 'process.c')
-rw-r--r-- | process.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -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) |