mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-22 17:13:27 +01:00
31 lines
886 B
Diff
31 lines
886 B
Diff
see https://github.com/moonjit/moonjit/issues/86
|
|
|
|
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
|
|
---
|
|
src/lib_string.c | 5 ++++-
|
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/lib_string.c b/src/lib_string.c
|
|
index 5e2891a9e..a90e189ba 100644
|
|
--- a/src/lib_string.c
|
|
+++ b/src/lib_string.c
|
|
@@ -621,7 +621,7 @@ LJLIB_CF(string_gsub)
|
|
const char *p = luaL_checklstring(L, 2, &lp);
|
|
int tr = lua_type(L, 3);
|
|
int max_s = luaL_optint(L, 4, (int)(srcl+1));
|
|
- int anchor = (*p == '^') ? (p++, 1) : 0;
|
|
+ int anchor = (*p == '^');
|
|
int n = 0;
|
|
MatchState ms;
|
|
luaL_Buffer b;
|
|
@@ -629,6 +629,9 @@ LJLIB_CF(string_gsub)
|
|
tr == LUA_TFUNCTION || tr == LUA_TTABLE))
|
|
lj_err_arg(L, 3, LJ_ERR_NOSFT);
|
|
luaL_buffinit(L, &b);
|
|
+ if (anchor) {
|
|
+ p++; lp--; /* skip anchor character */
|
|
+ }
|
|
ms.L = L;
|
|
ms.src_init = src;
|
|
ms.src_end = src+srcl;
|