summaryrefslogtreecommitdiffstats
path: root/02_exercise/shell.c
diff options
context:
space:
mode:
Diffstat (limited to '02_exercise/shell.c')
-rw-r--r--02_exercise/shell.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/02_exercise/shell.c b/02_exercise/shell.c
index f456465..d1e52ec 100644
--- a/02_exercise/shell.c
+++ b/02_exercise/shell.c
@@ -28,19 +28,20 @@ int main(void) {
}
if (strspn(line, " \n\t") == strlen(line)) {
+ // skip empty lines - empty being just spaces or tabs
continue;
}
line[length - 1] = '\0'; // cut the line feed
- Process * processes = NULL;
+ process *processes = NULL;
parse_line(line, &processes);
if (strcmp(processes[0].argv[0], "cd") == 0) {
-
- if(arrayLen(processes) != 1) {
+ if (arrayLen(processes) != 1) {
perror("Can't chain cd with other processes");
}
+
if (arrayLen(processes[0].argv) != 3) {
fprintf(stderr, "usage: cd <path>");
goto clean;
@@ -57,9 +58,8 @@ int main(void) {
} else if (strcmp(processes[0].argv[0], "exit") == 0) {
done = true;
} else {
- int ret;
for (size_t i = 0; i < arrayLen(processes); ++i) {
- ret = exec_command(processes[i]);
+ int ret = exec_command(processes[i]);
if (ret)
printf("[%i] ", ret);
}