diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1996-03-21 19:18:08 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1996-03-21 19:18:08 -0300 |
| commit | f1d0276684ef85ee457fe6a25d85cb8d5b3df0b6 (patch) | |
| tree | 2258bd74ec9bd92919675f511ce6d7590d448bd1 | |
| parent | 7ecc2ea59745fb8ab530e46a503e3c7505b03076 (diff) | |
| download | lua-github-f1d0276684ef85ee457fe6a25d85cb8d5b3df0b6.tar.gz | |
small bug in strfind.
| -rw-r--r-- | strlib.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -3,7 +3,7 @@ ** String library to LUA */ -char *rcs_strlib="$Id: strlib.c,v 1.19 1996/03/14 15:52:35 roberto Exp roberto $"; +char *rcs_strlib="$Id: strlib.c,v 1.20 1996/03/19 22:28:37 roberto Exp roberto $"; #include <string.h> #include <stdio.h> @@ -75,7 +75,7 @@ static void str_find (void) char *s2 = lua_check_string(2, "strfind"); int init = (lua_getparam(3) == LUA_NOOBJECT) ? 0 : (int)lua_check_number(3, "strfind")-1; - char *f = strstr(s1+init,s2); + char *f = (init>=0 && init<=strlen(s1)) ? strstr(s1+init,s2) : NULL; if (f != NULL) { int pos = f-s1+1; |
