diff options
Diffstat (limited to 'src/progman.c')
-rw-r--r-- | src/progman.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/progman.c b/src/progman.c index 22482ae..db39b6d 100644 --- a/src/progman.c +++ b/src/progman.c @@ -855,7 +855,6 @@ prog_start_prologue (struct prog *prog) if (prog->v.p.comp->flags & CF_EXPANDENV) { struct wordsplit ws; - size_t argc; ws.ws_env = (const char **) environ_ptr (prog->v.p.env); ws.ws_error = progman_ws_error; @@ -866,17 +865,20 @@ prog_start_prologue (struct prog *prog) prog_tag (prog), wordsplit_strerror (&ws)); _exit (127); } - wordsplit_get_words (&ws, &argc, &prog->v.p.argv); + wordsplit_get_words (&ws, &prog->v.p.argc, &prog->v.p.argv); wordsplit_free (&ws); } else - prog->v.p.argv = prog->v.p.comp->argv; + { + prog->v.p.argc = prog->v.p.comp->argc; + prog->v.p.argv = prog->v.p.comp->argv; + } if (debug_level >= 1 && prog->v.p.argv) { int i; logmsg_printf (LOG_DEBUG, "executing"); - for (i = 0; prog->v.p.argv[i]; i++) + for (i = 0; i < prog->v.p.argc; i++) logmsg_printf (LOG_DEBUG, " %s", quotearg (prog->v.p.argv[i])); logmsg_printf (LOG_DEBUG, "\n"); } |