summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ungol.org>2020-04-01 15:31:37 -0400
committerJakob Kaivo <jkk@ungol.org>2020-04-01 15:31:37 -0400
commit01cf390a1ffeffe83b67336de2889118c5f506d5 (patch)
tree42fa505bc8404440cea4f6f3ea9d7ddd3c145f0d
parent2bf892fb7f6a41f54c2138921ec00e7665c9ea29 (diff)
better support for -c "command"
-rw-r--r--main.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/main.c b/main.c
index 61b55f3..acddea7 100644
--- a/main.c
+++ b/main.c
@@ -72,9 +72,12 @@ int sh_main(int argc, char *argv[])
if (mode == COMMAND) {
/* shift argv */
- execvp(argv[optind], argv + optind);
- fprintf(stderr, "sh: %s: %s\n", argv[optind], strerror(errno));
- return 1;
+ /* TODO: join all remaining args together before parsing */
+ struct command *cmd = sh_parse(argv[optind]);
+ return sh_execute(cmd);
+ //execvp(argv[optind], argv + optind);
+ //fprintf(stderr, "sh: %s: %s\n", argv[optind], strerror(errno));
+ //return 1;
}
if (argv[optind] == NULL && isatty(STDIN_FILENO) && isatty(STDERR_FILENO)) {