From 07f335f36719bcb48a0f2f6a1501054852b53f28 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Thu, 27 Oct 2022 13:38:19 -0400 Subject: Fix for getting @1 from a tagged capture --- match.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/match.c b/match.c index 2aa6054..71ab087 100644 --- a/match.c +++ b/match.c @@ -923,7 +923,17 @@ static match_t *_get_numbered_capture(match_t *m, int *n) match_t *get_numbered_capture(match_t *m, int n) { if (n <= 0) return m; - return _get_numbered_capture(m, &n); + if (m->pat->type == BP_TAGGED) { + if (m->children) { + for (int i = 0; m->children[i]; i++) { + match_t *cap = _get_numbered_capture(m->children[i], &n); + if (cap) return cap; + } + } + return NULL; + } else { + return _get_numbered_capture(m, &n); + } } // -- cgit v1.2.3