lua

A copy of the Lua development repository
Log | Files | Refs | README

commit cfaa8fbf1dee6757af90f0612eb9f96a64e6a61e
parent f42cc90d2d51b1121aa2ed44530013f1df09fec6
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Thu,  3 Jan 2002 15:27:21 -0200

better check for option in `strfind'

Diffstat:
Mlstrlib.c | 3++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lstrlib.c b/lstrlib.c @@ -449,8 +449,9 @@ static int str_find (lua_State *L) { const char *p = luaL_check_lstr(L, 2, &l2); sint32 init = posrelat(luaL_opt_long(L, 3, 1), l1) - 1; luaL_arg_check(L, 0 <= init && (size_t)(init) <= l1, 3, "out of range"); - if (lua_gettop(L) > 3 || /* extra argument? */ + if (lua_istrue(L, 4) || /* explicit request? */ strpbrk(p, SPECIALS) == NULL) { /* or no special characters? */ + /* do a plain search */ const char *s2 = lmemfind(s+init, l1-init, p, l2); if (s2) { lua_pushnumber(L, s2-s+1);