mirror of
https://github.com/jarun/nnn.git
synced 2025-01-15 13:26:37 +00:00
Concatenate arguments to pass to sh
Co-authored-by: KlzXS <klzx+github@klzx.cf> Co-authored-by: Arun Prakash Jana <engineerarun@gmail.com>
This commit is contained in:
parent
8a1e32d9eb
commit
428c652d36
19
src/nnn.c
19
src/nnn.c
|
@ -4490,12 +4490,29 @@ static bool get_output(char *file, char *arg1, char *arg2, int fdout, bool page)
|
||||||
pid = fork();
|
pid = fork();
|
||||||
if (pid == 0) {
|
if (pid == 0) {
|
||||||
/* In child */
|
/* In child */
|
||||||
|
char *bufptr = file;
|
||||||
|
|
||||||
close(cmd_in_fd);
|
close(cmd_in_fd);
|
||||||
dup2(cmd_out_fd, STDOUT_FILENO);
|
dup2(cmd_out_fd, STDOUT_FILENO);
|
||||||
dup2(cmd_out_fd, STDERR_FILENO);
|
dup2(cmd_out_fd, STDERR_FILENO);
|
||||||
close(cmd_out_fd);
|
close(cmd_out_fd);
|
||||||
|
|
||||||
spawn(utils[UTIL_SH_EXEC], file, arg1, arg2, F_MULTI);
|
if (bufptr && arg1) {
|
||||||
|
char argbuf[CMD_LEN_MAX];
|
||||||
|
|
||||||
|
len = xstrsncpy(argbuf, file, xstrlen(file) + 1);
|
||||||
|
argbuf[len - 1] = ' ';
|
||||||
|
bufptr = argbuf + len;
|
||||||
|
len = xstrsncpy(bufptr, arg1, xstrlen(arg1) + 1);
|
||||||
|
if (arg2) {
|
||||||
|
bufptr[len - 1] = ' ';
|
||||||
|
xstrsncpy(bufptr + len, arg2, xstrlen(arg2) + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
bufptr = argbuf;
|
||||||
|
}
|
||||||
|
|
||||||
|
spawn(utils[UTIL_SH_EXEC], bufptr, NULL, NULL, F_MULTI);
|
||||||
_exit(EXIT_SUCCESS);
|
_exit(EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue