aboutsummaryrefslogtreecommitdiff
path: root/pattern.c
diff options
context:
space:
mode:
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;
}
//