summaryrefslogtreecommitdiff
path: root/ext/mbstring
diff options
context:
space:
mode:
authorSeiji Masugata <masugata@php.net>2006-07-17 04:44:06 +0000
committerSeiji Masugata <masugata@php.net>2006-07-17 04:44:06 +0000
commitdf84f5aa452def7012420790d6b62eeabd495c60 (patch)
treee53b534eb78acd01947195026a04b48f2612566f /ext/mbstring
parent749534ab28a8f9df57466b05374135883135a217 (diff)
downloadphp-git-df84f5aa452def7012420790d6b62eeabd495c60.tar.gz
added option parameter mb_strrpos( ).
Diffstat (limited to 'ext/mbstring')
-rw-r--r--ext/mbstring/mbstring.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index 69013ad561..a23766a98e 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -1632,11 +1632,12 @@ PHP_FUNCTION(mb_strpos)
}
/* }}} */
-/* {{{ proto int mb_strrpos(string haystack, string needle [, string encoding])
+/* {{{ proto int mb_strrpos(string haystack, string needle [, int offset [, string encoding]])
Find position of last occurrence of a string within another */
PHP_FUNCTION(mb_strrpos)
{
int n;
+ long offset = 0;
mbfl_string haystack, needle;
char *enc_name = NULL;
int enc_name_len;
@@ -1648,7 +1649,7 @@ PHP_FUNCTION(mb_strrpos)
needle.no_language = MBSTRG(current_language);
needle.no_encoding = MBSTRG(current_internal_encoding);
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|s", (char **)&haystack.val, &haystack.len, (char **)&needle.val, &needle.len, &enc_name, &enc_name_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|ls", (char **)&haystack.val, &haystack.len, (char **)&needle.val, &needle.len, &offset, &enc_name, &enc_name_len) == FAILURE) {
RETURN_FALSE;
}
@@ -1668,7 +1669,7 @@ PHP_FUNCTION(mb_strrpos)
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Empty needle");
RETURN_FALSE;
}
- n = mbfl_strpos(&haystack, &needle, 0, 1);
+ n = mbfl_strpos(&haystack, &needle, offset, 1);
if (n >= 0) {
RETVAL_LONG(n);
} else {