diff options
Diffstat (limited to 'src/libexecline')
-rw-r--r-- | src/libexecline/el_execsequence.c | 10 | ||||
-rw-r--r-- | src/libexecline/el_substandrun_str.c | 6 |
2 files changed, 9 insertions, 7 deletions
diff --git a/src/libexecline/el_execsequence.c b/src/libexecline/el_execsequence.c index 797aeb5..debf527 100644 --- a/src/libexecline/el_execsequence.c +++ b/src/libexecline/el_execsequence.c @@ -3,10 +3,11 @@ #include <string.h> #include <unistd.h> -#include <skalibs/djbunix.h> -#include <skalibs/env.h> -#include <skalibs/strerr2.h> #include <skalibs/types.h> +#include <skalibs/strerr2.h> +#include <skalibs/djbunix.h> +#include <skalibs/exec.h> + #include <execline/execline.h> void el_execsequence (char const *const *argv1, char const *const *argv2, char const *const *envp) @@ -28,6 +29,5 @@ void el_execsequence (char const *const *argv1, char const *const *argv2, char c j += uint_fmt(fmt + j, wait_status(wstat)) ; } fmt[j++] = 0 ; - if (!argv2[0]) _exit(0) ; - xpathexec_r(argv2, envp, env_len(envp), fmt, j) ; + xmexec0_en(argv2, envp, fmt, j, 1) ; } diff --git a/src/libexecline/el_substandrun_str.c b/src/libexecline/el_substandrun_str.c index 3f6b8e3..5786bc6 100644 --- a/src/libexecline/el_substandrun_str.c +++ b/src/libexecline/el_substandrun_str.c @@ -1,11 +1,13 @@ /* ISC license. */ #include <unistd.h> -#include <skalibs/djbunix.h> + +#include <skalibs/exec.h> #include <skalibs/env.h> #include <skalibs/strerr2.h> #include <skalibs/stralloc.h> #include <skalibs/genalloc.h> + #include <execline/execline.h> #include "exlsn.h" @@ -20,6 +22,6 @@ void el_substandrun_str (stralloc *src, size_t srcbase, char const *const *envp, char const *v[r + 1] ; if (!env_make(v, r, dst.s, dst.len)) strerr_diefu1sys(111, "env_make") ; v[r] = 0 ; - xpathexec_r(v, envp, env_len(envp), info->modifs.s, info->modifs.len) ; + xmexec_em(v, envp, info->modifs.s, info->modifs.len) ; } } |