home *** CD-ROM | disk | FTP | other *** search
- /* vi:tabstop=4:shiftwidth=4:smartindent
- *
- * source.c - Execute commands from a file.
- *
- */
-
- #include <stdio.h>
- #include "psh.h"
-
- extern void do_command(char *line);
-
- int sh_source(int argc, char **argv)
- {
- FILE *fp;
- char line[MAXLEN];
-
- if (argc > 2)
- {
- fprintf(stderr, "Usage: source <file>\n");
- return 1;
- }
-
- if ((fp = fopen(argv[1], "r")) == NULL)
- {
- fprintf(stderr, "source: Can't open %s\n", argv[1]);
- return 1;
- }
-
- while (fgets(line, MAXLEN, fp) != NULL)
- {
- line[strlen(line)-1] = '\0';
- do_command(line);
- }
-
- fclose(fp);
-
- return 0;
- }
-