diff --git a/common.cpp b/common.cpp index 825d25015..ae421de40 100644 --- a/common.cpp +++ b/common.cpp @@ -383,27 +383,6 @@ static char *wcs2str_internal(const wchar_t *in, char *out) return out; } -char **wcsv2strv(const wchar_t * const *in) -{ - size_t i, count = 0; - - while (in[count] != 0) - count++; - char **res = (char **)malloc(sizeof(char *)*(count+1)); - if (res == 0) - { - DIE_MEM(); - } - - for (i=0; iget_argv()); + null_terminated_array_t argv_array; + convert_wide_array_to_narrow(p->get_argv_array(), &argv_array); + const char *const *envv = env_export_arr(false); char *actual_cmd = wcs2str(p->actual_cmd.c_str()); /* Bounce to launch_process. This never returns. */ - safe_launch_process(p, actual_cmd, argv, envv); + safe_launch_process(p, actual_cmd, argv_array.get(), envv); }