summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoriyoshi Koizumi <moriyoshi@php.net>2009-02-15 07:11:23 +0000
committerMoriyoshi Koizumi <moriyoshi@php.net>2009-02-15 07:11:23 +0000
commitc2724d08fb79eb67f75b7cf44d7bf28056a7ba45 (patch)
treea51f44a29de40debe682835d1f86b3edbbb40ef5
parentaf6d9528ce4e0a23358c26369de6310531cb4559 (diff)
downloadphp-git-c2724d08fb79eb67f75b7cf44d7bf28056a7ba45.tar.gz
- MFH: Refix bug #43840.
- MFH: Fix bug #43841. - MFH: Remove redundant trailing dots from the error messages. - MFH: Fix tests.
-rw-r--r--ext/mbstring/libmbfl/mbfl/mbfilter.c250
-rw-r--r--ext/mbstring/mbstring.c6
-rw-r--r--ext/mbstring/tests/bug43840.phpt14
-rw-r--r--ext/mbstring/tests/bug43841.phpt13
-rw-r--r--ext/mbstring/tests/mb_stripos_variation3.phpt10
-rw-r--r--ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt22
-rw-r--r--ext/mbstring/tests/mb_strpos_variation2.phpt18
-rw-r--r--ext/mbstring/tests/mb_strpos_variation3.phpt10
-rw-r--r--ext/mbstring/tests/mb_strpos_variation5.phpt22
-rw-r--r--ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt12
-rw-r--r--ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt18
-rw-r--r--ext/mbstring/tests/mb_strrpos_variation3.phpt8
-rw-r--r--ext/standard/tests/strings/bug40754.phpt4
-rw-r--r--ext/standard/tests/strings/strripos_offset.phpt16
-rw-r--r--ext/standard/tests/strings/strrpos_variation14.phpt2
-rw-r--r--ext/standard/tests/strings/strrpos_variation15.phpt10
16 files changed, 275 insertions, 160 deletions
diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c
index 646912ad16..1aeb38cc9b 100644
--- a/ext/mbstring/libmbfl/mbfl/mbfilter.c
+++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c
@@ -778,7 +778,7 @@ retry:
for (;;) {
pc->found_pos++;
p = h;
- m = pc->needle.buffer;
+ m = (int *)pc->needle.buffer;
n = pc->needle_pos - 1;
while (n > 0 && *p == *m) {
n--;
@@ -857,87 +857,203 @@ mbfl_strpos(
int offset,
int reverse)
{
- int n, result, negative_offset = 0;
- unsigned char *p;
- mbfl_convert_filter *filter;
- struct collector_strpos_data pc;
+ int result;
+ mbfl_string _haystack_u8, _needle_u8;
+ const mbfl_string *haystack_u8, *needle_u8;
+ const unsigned char *u8_tbl;
- if (haystack == NULL || needle == NULL) {
+ if (haystack == NULL || haystack->val == NULL || needle == NULL || needle->val == NULL) {
return -8;
}
- /* needle is converted into wchar */
- mbfl_wchar_device_init(&pc.needle);
- filter = mbfl_convert_filter_new(
- needle->no_encoding,
- mbfl_no_encoding_wchar,
- mbfl_wchar_device_output, 0, &pc.needle);
- if (filter == NULL) {
- return -4;
- }
- p = needle->val;
- n = needle->len;
- if (p != NULL) {
- while (n > 0) {
- if ((*filter->filter_function)(*p++, filter) < 0) {
- break;
- }
- n--;
+
+ {
+ const mbfl_encoding *u8_enc;
+ u8_enc = mbfl_no2encoding(mbfl_no_encoding_utf8);
+ if (u8_enc == NULL || u8_enc->mblen_table == NULL) {
+ return -8;
}
+ u8_tbl = u8_enc->mblen_table;
}
- mbfl_convert_filter_flush(filter);
- mbfl_convert_filter_delete(filter);
- pc.needle_len = pc.needle.pos;
- if (pc.needle.buffer == NULL) {
- return -4;
- }
- if (pc.needle_len <= 0) {
- mbfl_wchar_device_clear(&pc.needle);
- return -2;
- }
- /* initialize filter and collector data */
- filter = mbfl_convert_filter_new(
- haystack->no_encoding,
- mbfl_no_encoding_wchar,
- collector_strpos, 0, &pc);
- if (filter == NULL) {
- mbfl_wchar_device_clear(&pc.needle);
- return -4;
+
+ if (haystack->no_encoding != mbfl_no_encoding_utf8) {
+ mbfl_string_init(&_haystack_u8);
+ haystack_u8 = mbfl_convert_encoding(haystack, &_haystack_u8, mbfl_no_encoding_utf8);
+ if (haystack_u8 == NULL) {
+ result = -4;
+ goto out;
+ }
+ } else {
+ haystack_u8 = haystack;
}
- if (offset < 0) {
- negative_offset = -offset - pc.needle_len;
- if (negative_offset < 0) {
- negative_offset = 0;
+ if (needle->no_encoding != mbfl_no_encoding_utf8) {
+ mbfl_string_init(&_needle_u8);
+ needle_u8 = mbfl_convert_encoding(needle, &_needle_u8, mbfl_no_encoding_utf8);
+ if (needle_u8 == NULL) {
+ result = -4;
+ goto out;
}
- offset = 0;
+ } else {
+ needle_u8 = needle;
}
- pc.start = offset;
- pc.output = 0;
- pc.needle_pos = 0;
- pc.found_pos = 0;
- pc.matched_pos = -1;
+ if (needle_u8->len < 1) {
+ result = -8;
+ goto out;
+ }
- /* feed data */
- p = haystack->val;
- n = haystack->len - negative_offset;
- if (p != NULL) {
- while (n > 0) {
- if ((*filter->filter_function)(*p++, filter) < 0) {
- pc.matched_pos = -4;
- break;
+ result = -1;
+ if (haystack_u8->len < needle_u8->len) {
+ goto out;
+ }
+
+ if (!reverse) {
+ unsigned int jtbl[1 << (sizeof(unsigned char) * 8)];
+ unsigned int needle_u8_len = needle_u8->len;
+ unsigned int i;
+ const unsigned char *p, *q, *e;
+ const unsigned char *haystack_u8_val = haystack_u8->val,
+ *needle_u8_val = needle_u8->val;
+ for (i = 0; i < sizeof(jtbl) / sizeof(*jtbl); ++i) {
+ jtbl[i] = needle_u8_len + 1;
+ }
+ for (i = 0; i < needle_u8_len - 1; ++i) {
+ jtbl[needle_u8_val[i]] = needle_u8_len - i;
+ }
+ e = haystack_u8_val + haystack_u8->len;
+ p = haystack_u8_val;
+ while (--offset >= 0) {
+ if (p >= e) {
+ result = -16;
+ goto out;
}
- if (pc.matched_pos >= 0 && !reverse) {
- break;
+ p += u8_tbl[*p];
+ }
+ p += needle_u8_len;
+ if (p > e) {
+ goto out;
+ }
+ while (p <= e) {
+ const unsigned char *pv = p;
+ q = needle_u8_val + needle_u8_len;
+ for (;;) {
+ if (q == needle_u8_val) {
+ result = 0;
+ while (p > haystack_u8_val) {
+ unsigned char c = *--p;
+ if (c < 0x80) {
+ ++result;
+ } else if ((c & 0xc0) != 0x80) {
+ ++result;
+ }
+ }
+ goto out;
+ }
+ if (*--q != *--p) {
+ break;
+ }
+ }
+ p += jtbl[*p];
+ if (p <= pv) {
+ p = pv + 1;
+ }
+ }
+ } else {
+ unsigned int jtbl[1 << (sizeof(unsigned char) * 8)];
+ unsigned int needle_u8_len = needle_u8->len, needle_len = 0;
+ unsigned int i;
+ const unsigned char *p, *e, *q, *qe;
+ const unsigned char *haystack_u8_val = haystack_u8->val,
+ *needle_u8_val = needle_u8->val;
+ for (i = 0; i < sizeof(jtbl) / sizeof(*jtbl); ++i) {
+ jtbl[i] = needle_u8_len;
+ }
+ for (i = needle_u8_len - 1; i > 0; --i) {
+ unsigned char c = needle_u8_val[i];
+ jtbl[c] = i;
+ if (c < 0x80) {
+ ++needle_len;
+ } else if ((c & 0xc0) != 0x80) {
+ ++needle_len;
+ }
+ }
+ {
+ unsigned char c = needle_u8_val[0];
+ if (c < 0x80) {
+ ++needle_len;
+ } else if ((c & 0xc0) != 0x80) {
+ ++needle_len;
+ }
+ }
+ e = haystack_u8_val;
+ p = e + haystack_u8->len;
+ qe = needle_u8_val + needle_u8_len;
+ if (offset < 0) {
+ if (-offset > needle_len) {
+ offset += needle_len;
+ while (offset < 0) {
+ unsigned char c;
+ if (p <= e) {
+ result = -16;
+ goto out;
+ }
+ c = *(--p);
+ if (c < 0x80) {
+ ++offset;
+ } else if ((c & 0xc0) != 0x80) {
+ ++offset;
+ }
+ }
+ }
+ } else {
+ const unsigned char *ee = haystack_u8_val + haystack_u8->len;
+ while (--offset >= 0) {
+ if (e >= ee) {
+ result = -16;
+ goto out;
+ }
+ e += u8_tbl[*e];
+ }
+ }
+ if (p < e + needle_u8_len) {
+ goto out;
+ }
+ p -= needle_u8_len;
+ while (p >= e) {
+ const unsigned char *pv = p;
+ q = needle_u8_val;
+ for (;;) {
+ if (q == qe) {
+ result = 0;
+ p -= needle_u8_len;
+ while (p > haystack_u8_val) {
+ unsigned char c = *--p;
+ if (c < 0x80) {
+ ++result;
+ } else if ((c & 0xc0) != 0x80) {
+ ++result;
+ }
+ }
+ goto out;
+ }
+ if (*q != *p) {
+ break;
+ }
+ ++p, ++q;
+ }
+ p -= jtbl[*p];
+ if (p >= pv) {
+ p = pv - 1;
}
- n--;
}
}
- mbfl_convert_filter_flush(filter);
- result = pc.matched_pos;
- mbfl_convert_filter_delete(filter);
- mbfl_wchar_device_clear(&pc.needle);
-
+out:
+ if (haystack_u8 == &_haystack_u8) {
+ mbfl_string_clear(&_haystack_u8);
+ }
+ if (needle_u8 == &_needle_u8) {
+ mbfl_string_clear(&_needle_u8);
+ }
return result;
}
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index b1011da945..ec3b1d0690 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -1867,7 +1867,7 @@ PHP_FUNCTION(mb_strstr)
}
if (needle.len <= 0) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING,"Empty delimiter.");
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty delimiter");
RETURN_FALSE;
}
n = mbfl_strpos(&haystack, &needle, 0, 0);
@@ -1976,7 +1976,7 @@ PHP_FUNCTION(mb_stristr)
}
if(!needle.len){
- php_error_docref(NULL TSRMLS_CC, E_WARNING,"Empty delimiter.");
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty delimiter");
RETURN_FALSE;
}
@@ -2095,7 +2095,7 @@ PHP_FUNCTION(mb_substr_count)
}
if (needle.len <= 0) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING,"Empty substring.");
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "Empty substring");
RETURN_FALSE;
}
diff --git a/ext/mbstring/tests/bug43840.phpt b/ext/mbstring/tests/bug43840.phpt
index f32533e30e..626cd70f8f 100644
--- a/ext/mbstring/tests/bug43840.phpt
+++ b/ext/mbstring/tests/bug43840.phpt
@@ -47,29 +47,29 @@ bool(false)
-- Offset is 22 --
--Multibyte String:--
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
--ASCII String:--
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
-- Offset is 53 --
--Multibyte String:--
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
--ASCII String:--
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
-- Offset is 54 --
--Multibyte String:--
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
--ASCII String:--
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
-bool(false) \ No newline at end of file
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
+bool(false)
diff --git a/ext/mbstring/tests/bug43841.phpt b/ext/mbstring/tests/bug43841.phpt
index 098d267bf2..9f2583286c 100644
--- a/ext/mbstring/tests/bug43841.phpt
+++ b/ext/mbstring/tests/bug43841.phpt
@@ -1,6 +1,5 @@
--TEST--
Test mb_strrpos() function : mb_strrpos offset is byte count for negative values
---XFAIL--
--SKIPIF--
<?php
extension_loaded('mbstring') or die('skip');
@@ -40,31 +39,31 @@ foreach ($offsets as $i) {
-- Offset is -25 --
Multibyte String:
-Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
ASCII String:
mb_strrpos:
-Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
strrpos:
-Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Offset is -24 --
Multibyte String:
-Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
ASCII String:
mb_strrpos:
-Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
strrpos:
-Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Offset is -13 --
diff --git a/ext/mbstring/tests/mb_stripos_variation3.phpt b/ext/mbstring/tests/mb_stripos_variation3.phpt
index 6703c983a6..41a365abfd 100644
--- a/ext/mbstring/tests/mb_stripos_variation3.phpt
+++ b/ext/mbstring/tests/mb_stripos_variation3.phpt
@@ -115,12 +115,12 @@ int(8)
-- Iteration 3 --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
-- Iteration 4 --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
-- Iteration 5 --
@@ -128,12 +128,12 @@ bool(false)
-- Iteration 6 --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
-- Iteration 7 --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
-- Iteration 8 --
@@ -200,4 +200,4 @@ int(8)
Warning: mb_stripos() expects parameter 3 to be long, resource given in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt b/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt
index 73980f9700..134a4c3ecf 100644
--- a/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt
+++ b/ext/mbstring/tests/mb_stripos_variation5_Bug45923.phpt
@@ -52,11 +52,11 @@ echo "Done";
**-- Offset is: -10 --**
-- ASCII String --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
--Multibyte String --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
**-- Offset is: 0 --**
@@ -80,40 +80,40 @@ int(20)
**-- Offset is: 30 --**
-- ASCII String --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
--Multibyte String --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
**-- Offset is: 40 --**
-- ASCII String --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
--Multibyte String --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
**-- Offset is: 50 --**
-- ASCII String --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
--Multibyte String --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
**-- Offset is: 60 --**
-- ASCII String --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
--Multibyte String --
-Warning: mb_stripos(): Offset not contained in string. in %s on line %d
+Warning: mb_stripos(): Offset not contained in string in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strpos_variation2.phpt b/ext/mbstring/tests/mb_strpos_variation2.phpt
index b2263023af..d6feb49231 100644
--- a/ext/mbstring/tests/mb_strpos_variation2.phpt
+++ b/ext/mbstring/tests/mb_strpos_variation2.phpt
@@ -135,12 +135,12 @@ bool(false)
-- Iteration 10 --
-Warning: mb_strpos(): Empty delimiter. in %s on line %d
+Warning: mb_strpos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 11 --
-Warning: mb_strpos(): Empty delimiter. in %s on line %d
+Warning: mb_strpos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 12 --
@@ -148,7 +148,7 @@ bool(false)
-- Iteration 13 --
-Warning: mb_strpos(): Empty delimiter. in %s on line %d
+Warning: mb_strpos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 14 --
@@ -156,17 +156,17 @@ bool(false)
-- Iteration 15 --
-Warning: mb_strpos(): Empty delimiter. in %s on line %d
+Warning: mb_strpos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 16 --
-Warning: mb_strpos(): Empty delimiter. in %s on line %d
+Warning: mb_strpos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 17 --
-Warning: mb_strpos(): Empty delimiter. in %s on line %d
+Warning: mb_strpos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 18 --
@@ -183,16 +183,16 @@ bool(false)
-- Iteration 22 --
-Warning: mb_strpos(): Empty delimiter. in %s on line %d
+Warning: mb_strpos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 23 --
-Warning: mb_strpos(): Empty delimiter. in %s on line %d
+Warning: mb_strpos(): Empty delimiter in %s on line %d
bool(false)
-- Iteration 24 --
Warning: mb_strpos() expects parameter 2 to be string, resource given in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strpos_variation3.phpt b/ext/mbstring/tests/mb_strpos_variation3.phpt
index 9c1c99ffee..65572b5f04 100644
--- a/ext/mbstring/tests/mb_strpos_variation3.phpt
+++ b/ext/mbstring/tests/mb_strpos_variation3.phpt
@@ -114,12 +114,12 @@ int(8)
-- Iteration 3 --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
-- Iteration 4 --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
-- Iteration 5 --
@@ -127,12 +127,12 @@ bool(false)
-- Iteration 6 --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
-- Iteration 7 --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
-- Iteration 8 --
@@ -199,4 +199,4 @@ int(8)
Warning: mb_strpos() expects parameter 3 to be long, resource given in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strpos_variation5.phpt b/ext/mbstring/tests/mb_strpos_variation5.phpt
index cb7fe63dcb..7a9604abef 100644
--- a/ext/mbstring/tests/mb_strpos_variation5.phpt
+++ b/ext/mbstring/tests/mb_strpos_variation5.phpt
@@ -50,11 +50,11 @@ echo "Done";
**-- Offset is: -10 --**
-- ASCII String --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
--Multibyte String --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
**-- Offset is: 0 --**
@@ -78,40 +78,40 @@ int(20)
**-- Offset is: 30 --**
-- ASCII String --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
--Multibyte String --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
**-- Offset is: 40 --**
-- ASCII String --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
--Multibyte String --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
**-- Offset is: 50 --**
-- ASCII String --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
--Multibyte String --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
**-- Offset is: 60 --**
-- ASCII String --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
--Multibyte String --
-Warning: mb_strpos(): Offset not contained in string. in %s on line %d
+Warning: mb_strpos(): Offset not contained in string in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt b/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt
index 3f52f57fc8..eb23d801be 100644
--- a/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt
+++ b/ext/mbstring/tests/mb_strripos_variation3_Bug45923.phpt
@@ -116,27 +116,27 @@ int(8)
-- Iteration 3 --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 4 --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 5 --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 6 --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 7 --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 8 --
@@ -203,4 +203,4 @@ int(8)
Warning: mb_strripos() expects parameter 3 to be long, resource given in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt b/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt
index 28401c219f..8c40a6fa67 100644
--- a/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt
+++ b/ext/mbstring/tests/mb_strripos_variation5_Bug45923.phpt
@@ -76,40 +76,40 @@ int(20)
**-- Offset is: 30 --**
-- ASCII String --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
--Multibyte String --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
**-- Offset is: 40 --**
-- ASCII String --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
--Multibyte String --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
**-- Offset is: 50 --**
-- ASCII String --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
--Multibyte String --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
**-- Offset is: 60 --**
-- ASCII String --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
--Multibyte String --
-Notice: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-Done \ No newline at end of file
+Done
diff --git a/ext/mbstring/tests/mb_strrpos_variation3.phpt b/ext/mbstring/tests/mb_strrpos_variation3.phpt
index 83ba0992ad..95840f9e73 100644
--- a/ext/mbstring/tests/mb_strrpos_variation3.phpt
+++ b/ext/mbstring/tests/mb_strrpos_variation3.phpt
@@ -97,12 +97,12 @@ int(8)
-- Iteration 3 --
-Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 4 --
-Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 5 --
@@ -113,7 +113,7 @@ bool(false)
-- Iteration 7 --
-Notice: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: mb_strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 8 --
@@ -150,4 +150,4 @@ int(8)
-- Iteration 18 --
int(8)
-Done \ No newline at end of file
+Done
diff --git a/ext/standard/tests/strings/bug40754.phpt b/ext/standard/tests/strings/bug40754.phpt
index 943114d512..e4bba8f440 100644
--- a/ext/standard/tests/strings/bug40754.phpt
+++ b/ext/standard/tests/strings/bug40754.phpt
@@ -53,10 +53,10 @@ bool(false)
Warning: stripos(): Offset not contained in string in %s on line %d
bool(false)
-Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
int(2)
string(8) "abcdeabc"
diff --git a/ext/standard/tests/strings/strripos_offset.phpt b/ext/standard/tests/strings/strripos_offset.phpt
index daa917e79f..524699ad52 100644
--- a/ext/standard/tests/strings/strripos_offset.phpt
+++ b/ext/standard/tests/strings/strripos_offset.phpt
@@ -16,30 +16,30 @@ var_dump(strripos(1024, "te", -PHP_INT_MAX-1));
echo "Done\n";
?>
--EXPECTF--
-Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
Warning: strripos() expects parameter 1 to be string, array given in %s on line %d
bool(false)
-Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-Notice: strripos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strripos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
Done
diff --git a/ext/standard/tests/strings/strrpos_variation14.phpt b/ext/standard/tests/strings/strrpos_variation14.phpt
index 617685325f..53c123a3fd 100644
--- a/ext/standard/tests/strings/strrpos_variation14.phpt
+++ b/ext/standard/tests/strings/strrpos_variation14.phpt
@@ -92,7 +92,7 @@ int(6)
int(6)
-- Iteration 3 --
-Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 4 --
int(6)
diff --git a/ext/standard/tests/strings/strrpos_variation15.phpt b/ext/standard/tests/strings/strrpos_variation15.phpt
index 23c7aef145..d958cdc485 100644
--- a/ext/standard/tests/strings/strrpos_variation15.phpt
+++ b/ext/standard/tests/strings/strrpos_variation15.phpt
@@ -94,23 +94,23 @@ bool(false)
bool(false)
-- Iteration 3 --
-Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 4 --
-Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 5 --
-Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 6 --
-Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 7 --
-Notice: strrpos(): Offset is greater than the length of haystack string in %s on line %d
+Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
bool(false)
-- Iteration 8 --
bool(false)