if (n == EOI) {
/* special case: [ ! ], [ a -a ! ] are valid */
/* IOW, "! ARG" may miss ARG */
- unnest_msg("<nexpr:1 (!EOI)\n");
+ args--;
+ unnest_msg("<nexpr:1 (!EOI), args:%s(%p)\n", args[0], &args[0]);
return 1;
}
res = !nexpr(n);
nest_msg(">aexpr(%s)\n", TOKSTR[n]);
res = nexpr(n);
- dbg_msg("aexpr: nexpr:%lld, next args:%s\n", res, args[1]);
+ dbg_msg("aexpr: nexpr:%lld, next args:%s(%p)\n", res, args[1], &args[1]);
if (check_operator(*++args) == BAND) {
- dbg_msg("aexpr: arg is AND, next args:%s\n", args[1]);
+ dbg_msg("aexpr: arg is AND, next args:%s(%p)\n", args[1], &args[1]);
res = aexpr(check_operator(*++args)) && res;
unnest_msg("<aexpr:%lld\n", res);
return res;
}
args--;
- unnest_msg("<aexpr:%lld, args:%s\n", res, args[0]);
+ unnest_msg("<aexpr:%lld, args:%s(%p)\n", res, args[0], &args[0]);
return res;
}
nest_msg(">oexpr(%s)\n", TOKSTR[n]);
res = aexpr(n);
- dbg_msg("oexpr: aexpr:%lld, next args:%s\n", res, args[1]);
+ dbg_msg("oexpr: aexpr:%lld, next args:%s(%p)\n", res, args[1], &args[1]);
if (check_operator(*++args) == BOR) {
- dbg_msg("oexpr: next arg is OR, next args:%s\n", args[1]);
+ dbg_msg("oexpr: next arg is OR, next args:%s(%p)\n", args[1], &args[1]);
res = oexpr(check_operator(*++args)) || res;
unnest_msg("<oexpr:%lld\n", res);
return res;
}
args--;
- unnest_msg("<oexpr:%lld, args:%s\n", res, args[0]);
+ unnest_msg("<oexpr:%lld, args:%s(%p)\n", res, args[0], &args[0]);
return res;
}