aboutsummaryrefslogtreecommitdiffstats
path: root/debug.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2011-07-26 06:05:42 +0300
committerArnold D. Robbins <arnold@skeeve.com>2011-07-26 06:05:42 +0300
commit452f4efefd5511bc7dbe95b0167b10b403cdcf45 (patch)
treea0c957508537e36bb1449485d2d0881061750174 /debug.c
parentfc02808c31a55f1559143ad9d8ad50e2f71a512b (diff)
downloadegawk-452f4efefd5511bc7dbe95b0167b10b403cdcf45.tar.gz
egawk-452f4efefd5511bc7dbe95b0167b10b403cdcf45.tar.bz2
egawk-452f4efefd5511bc7dbe95b0167b10b403cdcf45.zip
Fix gsub and getline pass by reference. Add tests.
Diffstat (limited to 'debug.c')
-rw-r--r--debug.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/debug.c b/debug.c
index 404042c1..4cda95c8 100644
--- a/debug.c
+++ b/debug.c
@@ -39,6 +39,7 @@ extern long fcall_count;
extern FILE *output_fp;
extern IOBUF *curfile;
extern const char *command_file;
+extern const char *get_spec_varname(Func_ptr fptr);
extern int r_interpret(INSTRUCTION *);
extern int zzparse(void);
#define read_command() (void) zzparse()
@@ -3736,20 +3737,19 @@ print_instruction(INSTRUCTION *pc, Func_print print_func, FILE *fp, int in_dump)
switch (pc->opcode) {
case Op_var_update:
- print_func(fp, "[update_%s]\n", pc->memory->vname);
+ print_func(fp, "[update_%s()]\n", get_spec_varname(pc->update_var));
break;
case Op_var_assign:
- if (pc->assign_var)
- print_func(fp, "[set_%s()]", pc->memory->vname);
+ print_func(fp, "[set_%s()]", get_spec_varname(pc->assign_var));
+ if (pc->assign_ctxt != 0)
+ print_func(fp, " [assign_ctxt = %s]", opcode2str(pc->assign_ctxt));
print_func(fp, "\n");
break;
case Op_field_assign:
- if (pc->field_assign)
- print_func(fp, "[%s]", pc->field_assign == reset_record ?
+ print_func(fp, "[%s]\n", pc->field_assign == reset_record ?
"reset_record()" : "invalidate_field0()");
- print_func(fp, "\n");
break;
case Op_field_spec_lhs:
@@ -3843,9 +3843,8 @@ print_instruction(INSTRUCTION *pc, Func_print print_func, FILE *fp, int in_dump)
{
const char *fname = "sub";
static const struct flagtab values[] = {
- { GSUB, "GSUB" },
+ { GSUB, "GSUB" },
{ GENSUB, "GENSUB" },
- { AFTER_ASSIGN, "AFTER_ASSIGN" },
{ LITERAL, "LITERAL" },
{ 0, NULL }
};