#include #include #include #include #include #include #include #include #include #include "array.h" #include "stdbool.h" void print_prompt(char const *const original_wd, char const *current_wd); int main(void) { char const *const original_wd = get_current_dir_name(); char const *current_wd = get_current_dir_name(); while (true) { char *command = NULL; size_t cap = 0; size_t length = 0; print_prompt(original_wd, current_wd); if ((length = getline(&command, &cap, stdin)) < 0) { fprintf(stderr, "Failed to read from STDIN"); } if (strcmp(command, "exit\n") == 0) { exit(0); } free((void *)command); } // Gotta cast to void otherwise we discard qualifiers free((void *)original_wd); free((void *)current_wd); } void print_prompt(char const *const original_wd, char const *current_wd) { int result = strcmp(original_wd, current_wd); if (result == 0) { printf("./ > "); } }