diff options
Diffstat (limited to 'src/fm.c')
| -rw-r--r-- | src/fm.c | 16 |
1 files changed, 3 insertions, 13 deletions
@@ -3,6 +3,7 @@ #include "display.h" #include "err.h" #include "log.h" +#include "process.h" #include "wm.h" #include <curses.h> #include <dirent.h> @@ -458,7 +459,6 @@ fm_getenv(void) int open_with_editor(char **argv) { - pid_t pid; def_prog_mode(); endwin(); @@ -466,18 +466,8 @@ open_with_editor(char **argv) argv[0] = utils[UTIL_VI]; } - if ((pid = fork()) < 0) { - log_write(LOG_ERR, "fork error"); - return -1; - } else if (pid == 0) { - if (execvp(argv[0], argv) < 0) { - log_write(LOG_ERR, "execvp error"); - return -1; - } - } else { - wait(NULL); - need_redraw = true; - } + spawn(argv); + need_redraw = true; return 0; } |
