From 47200919a70c992685146fdd72c1a2856c15c6b0 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Fri, 7 Apr 2023 13:26:41 +0300 Subject: Improvements to adump. --- ChangeLog | 6 ++++++ array.c | 23 +++++++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c1d22b94..8555a0b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2023-04-07 Arnold D. Robbins + + * array.c (assoc_info): Update to handle additional cases so + that one may dump SYMTAB or FUNCTAB. Issue reported by + zhou shuiqing . + 2023-03-09 Arnold D. Robbins * gawkapi.h: Update copyright year. Small edit in leading comment. diff --git a/array.c b/array.c index 6d2ed19b..09151169 100644 --- a/array.c +++ b/array.c @@ -748,10 +748,16 @@ assoc_info(NODE *subs, NODE *val, NODE *ndump, const char *aname) fprintf(output_fp, "]\n"); indent(indent_level); - if (val->type == Node_val) { + switch (val->type) { + case Node_val: fprintf(output_fp, "V: [scalar: "); value_info(val); - } else { + break; + case Node_var: + fprintf(output_fp, "V: [scalar: "); + value_info(val->var_value); + break; + case Node_var_array: fprintf(output_fp, "V: ["); ndump->alevel++; ndump->adepth--; @@ -759,6 +765,19 @@ assoc_info(NODE *subs, NODE *val, NODE *ndump, const char *aname) ndump->adepth++; ndump->alevel--; indent(indent_level); + break; + case Node_func: + fprintf(output_fp, "V: [user_defined_function"); + break; + case Node_ext_func: + fprintf(output_fp, "V: [external_function"); + break; + case Node_builtin_func: + fprintf(output_fp, "V: [builtin_function"); + break; + default: + cant_happen("unexpected node type %s", nodetype2str(val->type)); + break; } fprintf(output_fp, "]\n"); } -- cgit v1.2.1