aboutsummaryrefslogtreecommitdiff
path: root/lstrlib.c
diff options
context:
space:
mode:
Diffstat (limited to 'lstrlib.c')
-rw-r--r--lstrlib.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/lstrlib.c b/lstrlib.c
index 874cec80..dd3c0fd0 100644
--- a/lstrlib.c
+++ b/lstrlib.c
@@ -757,19 +757,25 @@ static int nospecials (const char *p, size_t l) {
757} 757}
758 758
759 759
760/*
761** Prepare state for matches. These fields are not affected by each match.
762*/
760static void prepstate (MatchState *ms, lua_State *L, 763static void prepstate (MatchState *ms, lua_State *L,
761 const char *s, size_t ls, const char *p, size_t lp) { 764 const char *s, size_t ls, const char *p, size_t lp) {
762 ms->L = L; 765 ms->L = L;
763 ms->matchdepth = MAXCCALLS;
764 ms->src_init = s; 766 ms->src_init = s;
765 ms->src_end = s + ls; 767 ms->src_end = s + ls;
766 ms->p_end = p + lp; 768 ms->p_end = p + lp;
767} 769}
768 770
769 771
772/*
773** (Re)prepare state for a match, setting fields that change during
774** each match.
775*/
770static void reprepstate (MatchState *ms) { 776static void reprepstate (MatchState *ms) {
777 ms->matchdepth = MAXCCALLS;
771 ms->level = 0; 778 ms->level = 0;
772 lua_assert(ms->matchdepth == MAXCCALLS);
773} 779}
774 780
775 781