diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2021-01-09 23:43:59 -0800 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2021-01-09 23:43:59 -0800 |
| commit | aa91728a082cde784e01078944dc39e6df0877fa (patch) | |
| tree | 72b187de913d139f4ba225ec88e635f01cca9f17 | |
| parent | 03c790d5b61ecc07a34e6d113a5b434b72c835fe (diff) | |
Replaced (void*) with (match_t*) in struct def
| -rw-r--r-- | grammar.c | 2 | ||||
| -rw-r--r-- | types.h | 4 | ||||
| -rw-r--r-- | vm.c | 2 |
3 files changed, 5 insertions, 3 deletions
@@ -94,7 +94,7 @@ void push_backref(grammar_t *g, const char *name, match_t *capture) op->start = capture->start; op->end = capture->end; op->len = -1; // TODO: maybe calculate this? - op->args.backref = (void*)capture; + op->args.backref = capture; g->backrefs[i].op = op; } @@ -41,6 +41,8 @@ enum VMOpcode { VM_NODENT, }; +struct match_s; // forward declared to resolve circular struct defs + /* * A struct reperesenting a BP virtual machine operation */ @@ -71,7 +73,7 @@ typedef struct vm_op_s { struct vm_op_s *capture_pat; char *name; } capture; - void *backref; + struct match_s *backref; struct vm_op_s *pat; } args; } vm_op_t; @@ -458,7 +458,7 @@ static match_t *_match(grammar_t *g, file_t *f, const char *str, vm_op_t *op, un return m; } case VM_BACKREF: { - return match_backref(str, op, (match_t*)op->args.backref, flags); + return match_backref(str, op, op->args.backref, flags); } case VM_NODENT: { if (*str != '\n') return NULL; |
