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

Diff for /src/usr.bin/yacc/main.c between version 1.18 and 1.19

version 1.18, 2003/06/19 16:34:53 version 1.19, 2005/04/04 13:46:06
Line 172 
Line 172 
 void  void
 getargs(int argc, char *argv[])  getargs(int argc, char *argv[])
 {  {
     int i;      int ch;
     char *s;  
   
     for (i = 1; i < argc; ++i)      while ((ch = getopt(argc, argv, "b:dlo:p:rtv")) != -1)
     {      {
         s = argv[i];          switch (ch)
         if (*s != '-') break;  
         switch (*++s)  
         {          {
         case '\0':  
             input_file = stdin;  
             if (i + 1 < argc) usage();  
             return;  
   
         case '-':  
             ++i;  
             goto no_more_options;  
   
         case 'b':          case 'b':
             if (*++s)              file_prefix = optarg;
                  file_prefix = s;              break;
             else if (++i < argc)  
                 file_prefix = argv[i];  
             else  
                 usage();  
             continue;  
   
         case 'd':          case 'd':
             dflag = 1;              dflag = 1;
             break;              break;
Line 208 
Line 191 
             break;              break;
   
         case 'o':          case 'o':
             if (*++s)              output_file_name = optarg;
                 output_file_name = s;              explicit_file_name = 1;
             else if (++i < argc)              break;
                 output_file_name = argv[i];  
             else  
                 usage();  
             explicit_file_name = 1;  
             continue;  
   
         case 'p':          case 'p':
             if (*++s)              symbol_prefix = optarg;
                 symbol_prefix = s;              break;
             else if (++i < argc)  
                 symbol_prefix = argv[i];  
             else  
                 usage();  
             continue;  
   
         case 'r':          case 'r':
             rflag = 1;              rflag = 1;
             break;              break;
Line 241 
Line 214 
         default:          default:
             usage();              usage();
         }          }
   
         for (;;)  
         {  
             switch (*++s)  
             {  
             case '\0':  
                 goto end_of_option;  
   
             case 'd':  
                 dflag = 1;  
                 break;  
   
             case 'l':  
                 lflag = 1;  
                 break;  
   
             case 'r':  
                 rflag = 1;  
                 break;  
   
             case 't':  
                 tflag = 1;  
                 break;  
   
             case 'v':  
                 vflag = 1;  
                 break;  
   
             default:  
                 usage();  
             }  
         }  
 end_of_option:;  
     }      }
       argc -= optind;
       argv += optind;
   
 no_more_options:;      if (argc != 1)
     if (i + 1 != argc) usage();          usage();
     input_file_name = argv[i];      if (strcmp(*argv, "-") == 0)
           input_file = stdin;
       else
           input_file_name = *argv;
 }  }
   
   

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19