From 3b4b844e05b5ee2517311c27e1c8bab8df0e0808 Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Fri, 26 Oct 2018 09:28:33 +0100 Subject: win32: use string_array_len to obtain size of argv array Saves 16 bytes. --- win32/process.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/win32/process.c b/win32/process.c index 74f949d07..e074d44e4 100644 --- a/win32/process.c +++ b/win32/process.c @@ -205,7 +205,7 @@ spawnveq(int mode, const char *path, char *const *argv, char *const *env) { char **new_argv; char *new_path = NULL; - int i, argc = -1; + int i, argc; intptr_t ret; struct stat st; @@ -225,9 +225,7 @@ spawnveq(int mode, const char *path, char *const *argv, char *const *env) return -1; } - while (argv[++argc]) - ; - + argc = string_array_len((char **)argv); new_argv = xmalloc(sizeof(*argv)*(argc+1)); for (i = 0;i < argc;i++) new_argv[i] = quote_arg(argv[i]); @@ -298,16 +296,14 @@ mingw_spawn_interpreter(int mode, const char *prog, char *const *argv, char *con int nopts; interp_t interp; char **new_argv; - int argc = -1; + int argc; char *fullpath = NULL; if (!parse_interpreter(prog, &interp)) return spawnveq(mode, prog, argv, envp); nopts = interp.opts != NULL; - while (argv[++argc]) - ; - + argc = string_array_len((char **)argv); new_argv = xmalloc(sizeof(*argv)*(argc+nopts+2)); new_argv[1] = interp.opts; new_argv[nopts+1] = (char *)prog; /* pass absolute path */ -- cgit v1.2.3-55-g6feb