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

Diff for /src/usr.bin/awk/run.c between version 1.28 and 1.29

version 1.28, 2008/04/13 00:22:17 version 1.29, 2008/06/04 14:04:42
Line 1509 
Line 1509 
                         nextarg = nextarg->nnext;                          nextarg = nextarg->nnext;
                 }                  }
                 break;                  break;
           case FCOMPL:
                   u = ~((int)getfval(x));
                   break;
           case FAND:
                   if (nextarg == 0) {
                           WARNING("and requires two arguments; returning 0");
                           u = 0;
                           break;
                   }
                   y = execute(a[1]->nnext);
                   u = ((int)getfval(x)) & ((int)getfval(y));
                   tempfree(y);
                   nextarg = nextarg->nnext;
                   break;
           case FFOR:
                   if (nextarg == 0) {
                           WARNING("or requires two arguments; returning 0");
                           u = 0;
                           break;
                   }
                   y = execute(a[1]->nnext);
                   u = ((int)getfval(x)) | ((int)getfval(y));
                   tempfree(y);
                   nextarg = nextarg->nnext;
                   break;
           case FXOR:
                   if (nextarg == 0) {
                           WARNING("or requires two arguments; returning 0");
                           u = 0;
                           break;
                   }
                   y = execute(a[1]->nnext);
                   u = ((int)getfval(x)) ^ ((int)getfval(y));
                   tempfree(y);
                   nextarg = nextarg->nnext;
                   break;
           case FLSHIFT:
                   if (nextarg == 0) {
                           WARNING("or requires two arguments; returning 0");
                           u = 0;
                           break;
                   }
                   y = execute(a[1]->nnext);
                   u = ((int)getfval(x)) << ((int)getfval(y));
                   tempfree(y);
                   nextarg = nextarg->nnext;
                   break;
           case FRSHIFT:
                   if (nextarg == 0) {
                           WARNING("or requires two arguments; returning 0");
                           u = 0;
                           break;
                   }
                   y = execute(a[1]->nnext);
                   u = ((int)getfval(x)) >> ((int)getfval(y));
                   tempfree(y);
                   nextarg = nextarg->nnext;
                   break;
         case FSYSTEM:          case FSYSTEM:
                 fflush(stdout);         /* in case something is buffered already */                  fflush(stdout);         /* in case something is buffered already */
                 u = (Awkfloat) system(getsval(x)) / 256;   /* 256 is unix-dep */                  u = (Awkfloat) system(getsval(x)) / 256;   /* 256 is unix-dep */

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.29