[BACK]Return to dc.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / dc

Diff for /src/usr.bin/dc/dc.c between version 1.3 and 1.4

version 1.3, 2003/09/19 19:06:29 version 1.4, 2003/12/01 09:13:24
Line 21 
Line 21 
 #endif /* not lint */  #endif /* not lint */
   
 #include <err.h>  #include <err.h>
 #include <stdlib.h>  #include <unistd.h>
 #include <string.h>  
   
 #include "extern.h"  #include "extern.h"
   
Line 33 
Line 32 
 static __dead void  static __dead void
 usage(void)  usage(void)
 {  {
         fprintf(stderr, "usage: %s [file]\n", __progname);          fprintf(stderr, "usage: %s [-x] [file]\n", __progname);
         exit(1);          exit(1);
 }  }
   
 int  int
 main(int argc, char *argv[])  main(int argc, char *argv[])
 {  {
           int             ch;
           bool            extended_regs = false;
         FILE            *file;          FILE            *file;
         struct source   src;          struct source   src;
   
         if (argc > 2)          /* accept and ignore a single dash to be 4.4BSD dc(1) compatible */
                 usage();          while ((ch = getopt(argc, argv, "x-")) != -1) {
                   switch (ch) {
                   case 'x':
                           extended_regs = true;
                           break;
                   case '-':
                           break;
                   default:
                           usage();
                   }
           }
           argc -= optind;
           argv += optind;
   
         init_bmachine();          init_bmachine(extended_regs);
         setlinebuf(stdout);          setlinebuf(stdout);
         setlinebuf(stderr);          setlinebuf(stderr);
         if (argc == 2 && strcmp(argv[1], "-") != 0) {  
                 file = fopen(argv[1], "r");          if (argc > 1)
                   usage();
           else if (argc == 1) {
                   file = fopen(argv[0], "r");
                 if (file == NULL)                  if (file == NULL)
                         err(1, "cannot open file %s", argv[1]);                          err(1, "cannot open file %s", argv[0]);
                 src_setstream(&src, file);                  src_setstream(&src, file);
                 reset_bmachine(&src);                  reset_bmachine(&src);
                 eval();                  eval();

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4