walk.c revision 1
2N/A *numericptr = 0;
2N/A if (set_array_base) {
2N/A if (saw_line_op)
if (do_chop) {
if (do_split)
if (saw_FNR)
else if (old_awk)
if (exitval)
if (saw_getline) {
if (do_fancy_opens)
if (saw_FNR)
if (do_chop) {
--level;
if (do_fancy_opens) {
case OHUNKS:
case ORANGE:
case OPAT:
goto def;
case OREGEX:
for (d=tokenbuf; *d; d++)
case OHUNK:
case OPPAREN:
case OPANDAND:
case OPOROR:
case OPNOT:
case OCOND:
case OCPAREN:
case OCANDAND:
case OCOROR:
case OCNOT:
case ORELOP:
if (!numeric ||
case ORPAREN:
case OMATCHOP:
case OMPAREN:
case OCONCAT:
case OASSIGN:
case OADD:
case OSUBTRACT:
case OMULT:
case ODIV:
case OPOW:
case OMOD:
case OPOSTINCR:
case OPOSTDECR:
case OPREINCR:
case OPREDECR:
case OUMINUS:
case OUPLUS:
goto def;
case OPAREN:
case OGETLINE:
if (useval)
if (len > 0) {
if (!do_fancy_opens) {
d = savestr(t);
for (t = tokenbuf; *t; t++) {
if (isLOWER(*t))
*t = toUPPER(*t);
if (!tmp3str) {
safefree(s);
safefree(d);
if (useval)
case OSPRINTF:
case OSUBSTR:
case OSTRING:
case OSPLIT:
if (useval)
else if (const_FS) {
else if (saw_FS)
if (useval) {
case OINDEX:
case OMATCH:
case OUSERDEF:
level--;
s = Nullch;
if (subretnum)
level++;
case ORETURN:
if (len > 0) {
if (numarg)
case OUSERFUN:
case OGSUB:
case OSUB: {
if (useval && i)
if (useval && i)
if (useval)
if (useval && i)
case ONUM:
case OSTR:
case ODEFINED:
goto addvar;
case ODELETE:
goto addvar;
case OSTAR:
goto addvar;
case OVAR:
saw_FNR++;
#ifdef NOTDEF
if (curargs) {
saw_argv0++;
case OFLD:
if (split_to_array) {
if (i <= arymax)
case OVFLD:
case OJUNK:
goto def;
case OSNEWLINE:
case ONEWLINE:
case OSCOMMENT:
case OCOMMENT:
case OCOMMA:
case OSEMICOLON:
case OSTATES:
case OSTATE:
case OCLOSE:
if (!do_fancy_opens) {
for (t = tokenbuf; *t; t++) {
if (isLOWER(*t))
*t = toUPPER(*t);
safefree(s);
case OPRINTF:
case OPRINT:
if (!do_fancy_opens) {
d = savestr(t);
for (t = tokenbuf; *t; t++) {
if (isLOWER(*t))
*t = toUPPER(*t);
if (!tmp3str) {
safefree(s);
safefree(d);
saw_fh = 0;
if (*tokenbuf) {
if (split_to_array) {
if (i <= arymax)
case ORAND:
case OSRAND:
goto maybe0;
case OATAN2:
goto maybe0;
case OSIN:
goto maybe0;
case OCOS:
goto maybe0;
case OSYSTEM:
goto maybe0;
case OLENGTH:
goto maybe0;
case OLOG:
goto maybe0;
case OEXP:
goto maybe0;
case OSQRT:
goto maybe0;
case OINT:
if (len > 0)
if (lval_field) {
if (split_to_array) {
if (i <= arymax)
case OBREAK:
case ONEXT:
case OEXIT:
if (realexit) {
case OCONTINUE:
case OREDIR:
goto def;
case OIF:
case OWHILE:
case ODO:
case OFOR:
i = numarg;
case OFORIN:
case OBLOCK:
def:
if (len) {
if (!str)
#ifdef DEBUGGING
putchar(*t);
return str;
if (lvl)
if (split_to_array)
if (i <= arymax)
if (const_FS) {
else if (saw_FS)
register int len;
register int type;
int numarg;
if (!node) {
*numericptr = 0;
switch (type) {
case OPROG:
++level;
--level;
case OHUNKS:
case ORANGE:
case OPAT:
goto def;
case OREGEX:
case OHUNK:
++level;
--level;
case OPPAREN:
case OPANDAND:
case OPOROR:
case OPNOT:
case OCPAREN:
case OCANDAND:
case OCOROR:
case OCNOT:
case ORELOP:
case ORPAREN:
case OMATCHOP:
case OMPAREN:
case OCONCAT:
case OASSIGN:
if (!numarg)
case OADD:
case OSUBTRACT:
case OMULT:
case ODIV:
case OPOW:
case OMOD:
case OPOSTINCR:
case OPOSTDECR:
case OPREINCR:
case OPREDECR:
case OUMINUS:
case OUPLUS:
case OPAREN:
case OGETLINE:
case OSPRINTF:
case OSUBSTR:
case OSTRING:
case OSPLIT:
case OINDEX:
case OMATCH:
case OUSERDEF:
--level;
++level;
--level;
level++;
case ORETURN:
if (len > 0) {
if (numarg)
case OUSERFUN:
case OGSUB:
case OSUB:
case ONUM:
case OSTR:
case ODEFINED:
case ODELETE:
case OSTAR:
case OVAR:
if (numit)
case OFLD:
case OVFLD:
case OJUNK:
goto def;
case OSNEWLINE:
case ONEWLINE:
case OSCOMMENT:
case OCOMMENT:
case OCOMMA:
case OSEMICOLON:
case OSTATES:
case OSTATE:
case OCLOSE:
case OPRINTF:
case OPRINT:
case ORAND:
case OSRAND:
goto maybe0;
case OATAN2:
goto maybe0;
case OSIN:
goto maybe0;
case OCOS:
goto maybe0;
case OSYSTEM:
goto maybe0;
case OLENGTH:
goto maybe0;
case OLOG:
goto maybe0;
case OEXP:
goto maybe0;
case OSQRT:
goto maybe0;
case OINT:
if (len > 0)
case OBREAK:
case ONEXT:
case OEXIT:
case OCONTINUE:
case OREDIR:
goto def;
case OIF:
case OWHILE:
case OFOR:
case OFORIN:
case OBLOCK:
++level;
--level;
def:
if (len) {
register int len;
register int type;
int numarg;