diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | awk.h | 2 | ||||
-rw-r--r-- | gawkapi.h | 2 | ||||
-rw-r--r-- | symbol.c | 16 |
4 files changed, 18 insertions, 10 deletions
@@ -1,3 +1,11 @@ +2012-10-21 Arnold D. Robbins <arnold@skeeve.com> + + Fixes for z/OS from Dave Pitts. + + * awk.h (assoc_list_flags): No trailing comma on last enum value. + * gawkapi.h (awk_valtype_t): Ditto. + * symbol.c (lookup): ``No automatic aggregate initialization.'' Sigh. + 2012-10-19 Arnold D. Robbins <arnold@skeeve.com> If SYMTAB is used, make sure ENVIRON and PROCINFO get loaded too. @@ -1374,7 +1374,7 @@ enum assoc_list_flags { AVSTR = 0x20, /* string scalar value */ AASC = 0x40, /* ascending order */ ADESC = 0x80, /* descending order */ - ADELETE = 0x100, /* need a single index; for use in do_delete_loop */ + ADELETE = 0x100 /* need a single index; for use in do_delete_loop */ }; extern NODE *make_array(void); @@ -281,7 +281,7 @@ typedef enum { AWK_STRING, AWK_ARRAY, AWK_SCALAR, /* opaque access to a variable */ - AWK_VALUE_COOKIE, /* for updating a previously created value */ + AWK_VALUE_COOKIE /* for updating a previously created value */ } awk_valtype_t; /* @@ -91,16 +91,16 @@ lookup(const char *name) { NODE *n; NODE *tmp; - /* ``It's turtles, all the way down.'' */ - NODE *tables[] = { - param_table, /* parameters shadow everything */ - global_table, /* SYMTAB and FUNCTAB found first, can't be redefined */ - func_table, /* then functions */ - symbol_table, /* then globals */ - NULL, - }; + NODE *tables[5]; /* manual init below, for z/OS */ int i; + /* ``It's turtles, all the way down.'' */ + tables[0] = param_table; /* parameters shadow everything */ + tables[1] = global_table; /* SYMTAB and FUNCTAB found first, can't be redefined */ + tables[2] = func_table; /* then functions */ + tables[3] = symbol_table; /* then globals */ + tables[4] = NULL; + tmp = make_string(name, strlen(name)); n = NULL; |