aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1996-03-21 19:18:08 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1996-03-21 19:18:08 -0300
commitf1d0276684ef85ee457fe6a25d85cb8d5b3df0b6 (patch)
tree2258bd74ec9bd92919675f511ce6d7590d448bd1
parent7ecc2ea59745fb8ab530e46a503e3c7505b03076 (diff)
downloadlua-f1d0276684ef85ee457fe6a25d85cb8d5b3df0b6.tar.gz
lua-f1d0276684ef85ee457fe6a25d85cb8d5b3df0b6.tar.bz2
lua-f1d0276684ef85ee457fe6a25d85cb8d5b3df0b6.zip
small bug in strfind.
-rw-r--r--strlib.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/strlib.c b/strlib.c
index 93965b76..33ff56c0 100644
--- a/strlib.c
+++ b/strlib.c
@@ -3,7 +3,7 @@
3** String library to LUA 3** String library to LUA
4*/ 4*/
5 5
6char *rcs_strlib="$Id: strlib.c,v 1.19 1996/03/14 15:52:35 roberto Exp roberto $"; 6char *rcs_strlib="$Id: strlib.c,v 1.20 1996/03/19 22:28:37 roberto Exp roberto $";
7 7
8#include <string.h> 8#include <string.h>
9#include <stdio.h> 9#include <stdio.h>
@@ -75,7 +75,7 @@ static void str_find (void)
75 char *s2 = lua_check_string(2, "strfind"); 75 char *s2 = lua_check_string(2, "strfind");
76 int init = (lua_getparam(3) == LUA_NOOBJECT) ? 0 : 76 int init = (lua_getparam(3) == LUA_NOOBJECT) ? 0 :
77 (int)lua_check_number(3, "strfind")-1; 77 (int)lua_check_number(3, "strfind")-1;
78 char *f = strstr(s1+init,s2); 78 char *f = (init>=0 && init<=strlen(s1)) ? strstr(s1+init,s2) : NULL;
79 if (f != NULL) 79 if (f != NULL)
80 { 80 {
81 int pos = f-s1+1; 81 int pos = f-s1+1;