diff options
Diffstat (limited to 'archive/st/patch/rightclicktoplumb_x.c')
| -rw-r--r-- | archive/st/patch/rightclicktoplumb_x.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/archive/st/patch/rightclicktoplumb_x.c b/archive/st/patch/rightclicktoplumb_x.c new file mode 100644 index 0000000..1b9b2bc --- /dev/null +++ b/archive/st/patch/rightclicktoplumb_x.c @@ -0,0 +1,24 @@ +#include <sys/wait.h> + +void +plumb(char *sel) { + if (sel == NULL) + return; + char cwd[PATH_MAX]; + pid_t child; + if (subprocwd(cwd) != 0) + return; + + switch(child = fork()) { + case -1: + return; + case 0: + if (chdir(cwd) != 0) + exit(1); + if (execvp(plumb_cmd, (char *const []){plumb_cmd, sel, 0}) == -1) + exit(1); + exit(0); + default: + waitpid(child, NULL, 0); + } +}
\ No newline at end of file |
