]> granicus.if.org Git - apache/commitdiff
fix docs on regex matching, change the actual ordering of arguments to match the...
authorDaniel Gruno <humbedooh@apache.org>
Sat, 13 Apr 2013 06:24:11 +0000 (06:24 +0000)
committerDaniel Gruno <humbedooh@apache.org>
Sat, 13 Apr 2013 06:24:11 +0000 (06:24 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1467557 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/mod_lua.xml
modules/lua/lua_request.c

index 1a47bf32c72fb20b1cda28fbad164949c3f18348..944b0a705e170690fdd43488d94ad52a5d0e8b98 100644 (file)
@@ -874,7 +874,7 @@ end
 <highlight language="lua">
 r:regex(string, pattern) -- Runs a regular expression match on a string, returning captures if matched:
 
-local matches = r:regex("foo bar baz", "foo (%w+) (%S*)")
+local matches = r:regex("foo bar baz", "foo (\w+) (\S*)")
 if matches then
     r:puts("The regex matched, and the last word captured ($2) was: " .. matches[2])
 end
index 4903a034dce37c521e2bf3fab07a7d634af2e289..8f9aae380e55c7e7ce0381996abc6ab346c0abbe 100644 (file)
@@ -908,8 +908,8 @@ static int lua_ap_regex(lua_State *L)
     luaL_checktype(L, 2, LUA_TSTRING);
     luaL_checktype(L, 3, LUA_TSTRING);
     r = ap_lua_check_request_rec(L, 1);
-    pattern = lua_tostring(L, 2);
-    source = lua_tostring(L, 3);
+    source = lua_tostring(L, 2);
+    pattern = lua_tostring(L, 3);
     flags = luaL_optinteger(L, 4, 0);
 
     rv = ap_regcomp(&regex, pattern, flags);
@@ -928,7 +928,7 @@ static int lua_ap_regex(lua_State *L)
     }
     
     lua_newtable(L);
-    for (i = 0; i <= regex.re_nsub; i++) {
+    for (i = 0; i <= regex.re_nsub && i <= AP_MAX_REG_MATCH; i++) {
         lua_pushinteger(L, i);
         if (matches[i].rm_so >= 0 && matches[i].rm_eo >= 0)
             lua_pushstring(L,