summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÁkos Kőrösi <korakos99@gmail.com>2026-05-15 07:48:39 +0200
committerÁkos Kőrösi <korakos99@gmail.com>2026-05-15 07:48:39 +0200
commitcb385f96ef7caa1ae9652c498ae8458c30b3cf32 (patch)
tree3c87baa9444d419d7799309bec49e213b7683698
parent90ca28560a641e2e0b44213dc98c09a2ec3bee6f (diff)
start porting command execution
-rw-r--r--exec.c15
-rw-r--r--typeutils.h1
2 files changed, 16 insertions, 0 deletions
diff --git a/exec.c b/exec.c
index aefe7e2..9d791fb 100644
--- a/exec.c
+++ b/exec.c
@@ -1,11 +1,14 @@
#include "lex.h"
#include "parse.h"
#include "exec.h"
+#include "typeutils.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+
+
void set_map_pair(KeyValMap* map, char* key, char* val) {
for (int i = 0; i < map->count; i++) {
char* key_i = get_from_KeyValMap(map, i)->key;
@@ -155,6 +158,18 @@ void command_thing(Command command, ShellState* shstate) {
}
}
+
+DECLARE_VEC(int, IntVec)
+
+
+typedef struct {
+ int stdin_fd;
+ int stdout_fd;
+} CommandProcessInfo;
+
+
+
+
void run_pipeline(Pipeline pl, ShellState* shstate) {
for (int i = 0; i < pl.count; i++) {
printf("\tCommand %d:\n", i);
diff --git a/typeutils.h b/typeutils.h
index 925857b..daf7c3d 100644
--- a/typeutils.h
+++ b/typeutils.h
@@ -75,6 +75,7 @@
DECLARE_VEC(char, String);
+
static void append_str_to_String(String* target, const char* src_str) {
size_t len = strlen(src_str);