diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2017-01-26 05:55:58 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2017-01-26 05:55:58 +0200 |
commit | 08ee51002bcead39798f309116e6bb4aaf8a1d3e (patch) | |
tree | b1f86f20682e1dc577b53bb79b9ab80119d33448 /awk.h | |
parent | b7c60a781d7a027df7f388d099f79014cec79f3b (diff) | |
parent | 6b12d4f726b9578d5c878fa765d5c167c9d71618 (diff) | |
download | egawk-08ee51002bcead39798f309116e6bb4aaf8a1d3e.tar.gz egawk-08ee51002bcead39798f309116e6bb4aaf8a1d3e.tar.bz2 egawk-08ee51002bcead39798f309116e6bb4aaf8a1d3e.zip |
Merge branch 'master' into feature/api-mpfr
Diffstat (limited to 'awk.h')
-rw-r--r-- | awk.h | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -1050,10 +1050,14 @@ struct flagtab { }; -typedef struct block_item { - size_t size; +struct block_item { + struct block_item *freep; +}; + +struct block_header { struct block_item *freep; -} BLOCK; + size_t size; +}; enum block_id { BLOCK_INVALID = 0, /* not legal */ @@ -1120,7 +1124,7 @@ extern afunc_t int_array_func[]; /* special node used to indicate success in array routines (not NULL) */ extern NODE *success_node; -extern BLOCK nextfree[]; +extern struct block_header nextfree[]; extern bool field0_valid; extern int do_flags; @@ -1307,10 +1311,10 @@ DEREF(NODE *r) &((n)->var_value) : r_get_lhs((n), (r)) #define getblock(p, id, ty) (void) ((p = (ty) nextfree[id].freep) ? \ - (ty) (nextfree[id].freep = ((BLOCK *) p)->freep) \ + (ty) (nextfree[id].freep = ((struct block_item *) p)->freep) \ : (p = (ty) more_blocks(id))) -#define freeblock(p, id) (void) (((BLOCK *) p)->freep = nextfree[id].freep, \ - nextfree[id].freep = (BLOCK *) p) +#define freeblock(p, id) (void) (((struct block_item *) p)->freep = nextfree[id].freep, \ + nextfree[id].freep = (struct block_item *) p) #define getnode(n) getblock(n, BLOCK_NODE, NODE *) #define freenode(n) freeblock(n, BLOCK_NODE) |