aboutsummaryrefslogtreecommitdiff
path: root/pattern.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2021-07-29 12:45:37 -0700
committerBruce Hill <bruce@bruce-hill.com>2021-07-29 12:45:37 -0700
commitbc813df3d749971ade565a7cf34aedae6787dc44 (patch)
tree83ebd4020fa82769af3315ab415d0aaace4c7420 /pattern.c
parentdb969f34a99b5ab5efd3a82d3c6d5a8e9be6f2da (diff)
Tweaks and optimizations
Diffstat (limited to 'pattern.c')
-rw-r--r--pattern.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/pattern.c b/pattern.c
index 4664c8a..ea9cf39 100644
--- a/pattern.c
+++ b/pattern.c
@@ -34,16 +34,18 @@ static pat_t *bp_simplepattern(file_t *f, const char *str);
pat_t *new_pat(file_t *f, const char *start, const char *end, size_t minlen, ssize_t maxlen, enum pattype_e type)
{
static size_t next_pat_id = 1;
- allocated_pat_t *tracker = new(allocated_pat_t);
- tracker->next = f->pats;
- f->pats = tracker;
- tracker->pat.type = type;
- tracker->pat.start = start;
- tracker->pat.end = end;
- tracker->pat.min_matchlen = minlen;
- tracker->pat.max_matchlen = maxlen;
- tracker->pat.id = next_pat_id++;
- return &tracker->pat;
+ pat_t *pat = new(pat_t);
+ *pat = (pat_t){
+ .next = f->pats,
+ .type = type,
+ .start = start,
+ .end = end,
+ .min_matchlen = minlen,
+ .max_matchlen = maxlen,
+ .id = next_pat_id++,
+ };
+ f->pats = pat;
+ return pat;
}
//