RETURN_FALSE;
}
+ if ((haystack_len == 0) || (needle_len == 0)) {
+ RETURN_FALSE;
+ }
+
if (offset >= 0) {
p = haystack + offset;
e = haystack + haystack_len - needle_len;
RETURN_FALSE;
}
+ if ((haystack_len == 0) || (needle_len == 0)) {
+ RETURN_FALSE;
+ }
+
needle_dup = estrndup(needle, needle_len);
php_strtolower(needle_dup, needle_len);
haystack_dup = estrndup(haystack, haystack_len);
--- /dev/null
+--TEST--
+strripos() function
+--POST--
+--GET--
+--FILE--
+<?php
+ var_dump(strripos("test test string", "test"));
+ var_dump(strripos("test string sTring", "string"));
+ var_dump(strripos("test strip string strand", "str"));
+ var_dump(strripos("I am what I am and that's all what I am", "am", -3));
+ var_dump(strripos("test string", "g"));
+ var_dump(strripos("te".chr(0)."st", chr(0)));
+ var_dump(strripos("tEst", "test"));
+ var_dump(strripos("teSt", "test"));
+ var_dump(@strripos("foo", "f", 1));
+ var_dump(@strripos("", ""));
+ var_dump(@strripos("a", ""));
+ var_dump(@strripos("", "a"));
+ var_dump(@strripos("\\\\a", "\\a"));
+?>
+--EXPECT--
+int(5)
+int(12)
+int(18)
+int(12)
+int(10)
+int(2)
+int(0)
+int(0)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(1)
+
--- /dev/null
+--TEST--
+strrpos() function
+--POST--
+--GET--
+--FILE--
+<?php
+ var_dump(strrpos("test test string", "test"));
+ var_dump(strrpos("test string sTring", "string"));
+ var_dump(strrpos("test strip string strand", "str"));
+ var_dump(strrpos("I am what I am and that's all what I am", "am", -3));
+ var_dump(strrpos("test string", "g"));
+ var_dump(strrpos("te".chr(0)."st", chr(0)));
+ var_dump(strrpos("tEst", "test"));
+ var_dump(strrpos("teSt", "test"));
+ var_dump(@strrpos("foo", "f", 1));
+ var_dump(@strrpos("", ""));
+ var_dump(@strrpos("a", ""));
+ var_dump(@strrpos("", "a"));
+ var_dump(@strrpos("\\\\a", "\\a"));
+?>
+--EXPECT--
+int(5)
+int(5)
+int(18)
+int(12)
+int(10)
+int(2)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+int(1)