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

Diff for /src/usr.bin/awk/tran.c between version 1.23 and 1.24

version 1.23, 2020/06/10 21:03:36 version 1.24, 2020/06/10 21:03:56
Line 307 
Line 307 
         if ((vp->tval & (NUM | STR)) == 0)          if ((vp->tval & (NUM | STR)) == 0)
                 funnyvar(vp, "assign to");                  funnyvar(vp, "assign to");
         if (isfld(vp)) {          if (isfld(vp)) {
                 donerec = 0;    /* mark $0 invalid */                  donerec = false;        /* mark $0 invalid */
                 fldno = atoi(vp->nval);                  fldno = atoi(vp->nval);
                 if (fldno > *NF)                  if (fldno > *NF)
                         newfld(fldno);                          newfld(fldno);
                    DPRINTF( ("setting field %d to %g\n", fldno, f) );                     DPRINTF( ("setting field %d to %g\n", fldno, f) );
         } else if (&vp->fval == NF) {          } else if (&vp->fval == NF) {
                 donerec = 0;    /* mark $0 invalid */                  donerec = false;        /* mark $0 invalid */
                 setlastfld(f);                  setlastfld(f);
                 DPRINTF( ("setting NF to %g\n", f) );                  DPRINTF( ("setting NF to %g\n", f) );
         } else if (isrec(vp)) {          } else if (isrec(vp)) {
                 donefld = 0;    /* mark $1... invalid */                  donefld = false;        /* mark $1... invalid */
                 donerec = 1;                  donerec = true;
                 savefs();                  savefs();
         } else if (vp == ofsloc) {          } else if (vp == ofsloc) {
                 if (donerec == 0)                  if (!donerec)
                         recbld();                          recbld();
         }          }
         if (freeable(vp))          if (freeable(vp))
Line 356 
Line 356 
         if ((vp->tval & (NUM | STR)) == 0)          if ((vp->tval & (NUM | STR)) == 0)
                 funnyvar(vp, "assign to");                  funnyvar(vp, "assign to");
         if (isfld(vp)) {          if (isfld(vp)) {
                 donerec = 0;    /* mark $0 invalid */                  donerec = false;        /* mark $0 invalid */
                 fldno = atoi(vp->nval);                  fldno = atoi(vp->nval);
                 if (fldno > *NF)                  if (fldno > *NF)
                         newfld(fldno);                          newfld(fldno);
                    DPRINTF( ("setting field %d to %s (%p)\n", fldno, s, s) );                     DPRINTF( ("setting field %d to %s (%p)\n", fldno, s, s) );
         } else if (isrec(vp)) {          } else if (isrec(vp)) {
                 donefld = 0;    /* mark $1... invalid */                  donefld = false;        /* mark $1... invalid */
                 donerec = 1;                  donerec = true;
                 savefs();                  savefs();
         } else if (vp == ofsloc) {          } else if (vp == ofsloc) {
                 if (donerec == 0)                  if (!donerec)
                         recbld();                          recbld();
         }          }
         t = s ? tostring(s) : tostring("");     /* in case it's self-assign */          t = s ? tostring(s) : tostring("");     /* in case it's self-assign */
Line 380 
Line 380 
                 (void*)vp, NN(vp->nval), t, t, vp->tval, donerec, donefld) );                  (void*)vp, NN(vp->nval), t, t, vp->tval, donerec, donefld) );
         vp->sval = t;          vp->sval = t;
         if (&vp->fval == NF) {          if (&vp->fval == NF) {
                 donerec = 0;    /* mark $0 invalid */                  donerec = false;        /* mark $0 invalid */
                 f = getfval(vp);                  f = getfval(vp);
                 setlastfld(f);                  setlastfld(f);
                 DPRINTF( ("setting NF to %g\n", f) );                  DPRINTF( ("setting NF to %g\n", f) );
Line 393 
Line 393 
 {  {
         if ((vp->tval & (NUM | STR)) == 0)          if ((vp->tval & (NUM | STR)) == 0)
                 funnyvar(vp, "read value of");                  funnyvar(vp, "read value of");
         if (isfld(vp) && donefld == 0)          if (isfld(vp) && !donefld)
                 fldbld();                  fldbld();
         else if (isrec(vp) && donerec == 0)          else if (isrec(vp) && !donerec)
                 recbld();                  recbld();
         if (!isnum(vp)) {       /* not a number */          if (!isnum(vp)) {       /* not a number */
                 vp->fval = atof(vp->sval);      /* best guess */                  vp->fval = atof(vp->sval);      /* best guess */
Line 414 
Line 414 
   
         if ((vp->tval & (NUM | STR)) == 0)          if ((vp->tval & (NUM | STR)) == 0)
                 funnyvar(vp, "read value of");                  funnyvar(vp, "read value of");
         if (isfld(vp) && donefld == 0)          if (isfld(vp) && ! donefld)
                 fldbld();                  fldbld();
         else if (isrec(vp) && donerec == 0)          else if (isrec(vp) && ! donerec)
                 recbld();                  recbld();
   
         /*          /*

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24