home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / utilities / utilsp / psh / c / source < prev   
Encoding:
C/C++ Source or Header  |  1995-05-08  |  561 b   |  39 lines

  1. /* vi:tabstop=4:shiftwidth=4:smartindent
  2.  *
  3.  * source.c - Execute commands from a file.
  4.  *
  5.  */
  6.  
  7. #include <stdio.h>
  8. #include "psh.h"
  9.  
  10. extern void do_command(char *line);
  11.  
  12. int sh_source(int argc, char **argv)
  13. {
  14.     FILE    *fp;
  15.     char    line[MAXLEN];
  16.  
  17.     if (argc > 2)
  18.     {
  19.         fprintf(stderr, "Usage: source <file>\n");
  20.         return 1;
  21.     }
  22.  
  23.     if ((fp = fopen(argv[1], "r")) == NULL)
  24.     {
  25.         fprintf(stderr, "source: Can't open %s\n", argv[1]);
  26.         return 1;
  27.     }
  28.  
  29.     while (fgets(line, MAXLEN, fp) != NULL)
  30.     {
  31.         line[strlen(line)-1] = '\0';
  32.         do_command(line);
  33.     }
  34.  
  35.     fclose(fp);
  36.  
  37.     return 0;
  38. }
  39.