Diff for /rpl/rplawk/main.c between versions 1.1 and 1.2

version 1.1, 2010/09/07 12:53:05 version 1.2, 2013/06/12 09:47:52
Line 22  ARISING OUT OF OR IN CONNECTION WITH THE Line 22  ARISING OUT OF OR IN CONNECTION WITH THE
 THIS SOFTWARE.  THIS SOFTWARE.
 ****************************************************************/  ****************************************************************/
   
 const char  *version = "version 20100523";  const char  *version = "version 20121220";
   
 #define DEBUG  #define DEBUG
 #include <stdio.h>  #include <stdio.h>
Line 38  extern char **environ; Line 38  extern char **environ;
 extern  int nfields;  extern  int nfields;
   
 int dbg = 0;  int dbg = 0;
   Awkfloat    srand_seed = 1;
 char    *cmdname;   /* gets argv[0] for error messages */  char    *cmdname;   /* gets argv[0] for error messages */
 extern  FILE    *yyin;  /* lex input file */  extern  FILE    *yyin;  /* lex input file */
 char    *lexprog;   /* points to program argument if it exists */  char    *lexprog;   /* points to program argument if it exists */
Line 67  int main(int argc, char *argv[]) Line 68  int main(int argc, char *argv[])
         exit(1);          exit(1);
     }      }
     signal(SIGFPE, fpecatch);      signal(SIGFPE, fpecatch);
   
       srand_seed = 1;
       srand(srand_seed);
   
     yyin = NULL;      yyin = NULL;
     symtab = makesymtab(NSYMTAB/NSYMTAB);      symtab = makesymtab(NSYMTAB/NSYMTAB);
     while (argc > 1 && argv[1][0] == '-' && argv[1][1] != '\0') {      while (argc > 1 && argv[1][0] == '-' && argv[1][1] != '\0') {
Line 86  int main(int argc, char *argv[]) Line 91  int main(int argc, char *argv[])
                 safe = 1;                  safe = 1;
             break;              break;
         case 'f':   /* next argument is program filename */          case 'f':   /* next argument is program filename */
             argc--;              if (argv[1][2] != 0) {  /* arg is -fsomething */
             argv++;                  if (npfile >= MAX_PFILE - 1)
             if (argc <= 1)                      FATAL("too many -f options"); 
                 FATAL("no program filename");                  pfile[npfile++] = &argv[1][2];
             if (npfile >= MAX_PFILE - 1)              } else {        /* arg is -f something */
                 FATAL("too many -f options");                   argc--; argv++;
             pfile[npfile++] = argv[1];                  if (argc <= 1)
                       FATAL("no program filename");
                   if (npfile >= MAX_PFILE - 1)
                       FATAL("too many -f options"); 
                   pfile[npfile++] = argv[1];
               }
             break;              break;
         case 'F':   /* set field separator */          case 'F':   /* set field separator */
             if (argv[1][2] != 0) {  /* arg is -Fsomething */              if (argv[1][2] != 0) {  /* arg is -Fsomething */
Line 111  int main(int argc, char *argv[]) Line 121  int main(int argc, char *argv[])
                 WARNING("field separator FS is empty");                  WARNING("field separator FS is empty");
             break;              break;
         case 'v':   /* -v a=1 to be done NOW.  one -v for each */          case 'v':   /* -v a=1 to be done NOW.  one -v for each */
             if (argv[1][2] == '\0' && --argc > 1 && isclvar((++argv)[1]))              if (argv[1][2] != 0) {  /* arg is -vsomething */
                 setclvar(argv[1]);                  if (isclvar(&argv[1][2]))
             else if (argv[1][2] != '\0')                      setclvar(&argv[1][2]);
                 setclvar(&argv[1][2]);                  else
                       FATAL("invalid -v option argument: %s", &argv[1][2]);
               } else {        /* arg is -v something */
                   argc--; argv++;
                   if (argc <= 1)
                       FATAL("no variable name");
                   if (isclvar(argv[1]))
                       setclvar(argv[1]);
                   else
                       FATAL("invalid -v option argument: %s", argv[1]);
               }
             break;              break;
         case 'd':          case 'd':
             dbg = atoi(&argv[1][2]);              dbg = atoi(&argv[1][2]);

Removed from v.1.1  
changed lines
  Added in v.1.2


CVSweb interface <joel.bertrand@systella.fr>