#include #include #include #include #include #include #include "builtins.h" #include "utils/env.h" int dot(struct string **args) { if (args[0] == NULL) { fprintf(stderr, ".: filename argument required\n"); fflush(stdout); return 2; } if (args[1] != NULL) { fprintf(stderr, ".: too many arguments\n"); fflush(stdout); return 2; } FILE *file = fopen(args[0]->data, "r"); if (file == NULL) { fprintf(stderr, ".: filename does not exist\n"); fflush(stdout); return 1; } char line[1024]; while (fgets(line, sizeof(line), file)) { // TODO : execute file fputs(line, stdout); } fclose(file); fflush(stdout); return 0; }