aboutsummaryrefslogtreecommitdiffstats
path: root/awk.h
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2017-01-26 05:55:58 +0200
committerArnold D. Robbins <arnold@skeeve.com>2017-01-26 05:55:58 +0200
commit08ee51002bcead39798f309116e6bb4aaf8a1d3e (patch)
treeb1f86f20682e1dc577b53bb79b9ab80119d33448 /awk.h
parentb7c60a781d7a027df7f388d099f79014cec79f3b (diff)
parent6b12d4f726b9578d5c878fa765d5c167c9d71618 (diff)
downloadegawk-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.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/awk.h b/awk.h
index 36fef0ef..39dcf5ea 100644
--- a/awk.h
+++ b/awk.h
@@ -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)