const mbfl_encoding *enc;
enum mbfl_no_encoding no_enc;
char* ret;
- size_t ret_len;
- unsigned char char_len;
+ size_t ret_len, char_len;
zend_long cp;
enc = php_mb_get_encoding(enc_name);
size_t haystack_char_len = mbfl_strlen(&haystack);
if (mode) {
- if ((offset > 0 && offset > haystack_char_len) ||
- (offset < 0 && -offset > haystack_char_len)) {
+ if ((offset > 0 && (size_t)offset > haystack_char_len) ||
+ (offset < 0 && (size_t)(-offset) > haystack_char_len)) {
php_error_docref(NULL, E_WARNING, "Offset is greater than the length of haystack string");
break;
}
} else {
if (offset < 0) {
- offset += (long)haystack_char_len;
+ offset += (zend_long)haystack_char_len;
}
- if (offset < 0 || offset > haystack_char_len) {
+ if (offset < 0 || (size_t)offset > haystack_char_len) {
php_error_docref(NULL, E_WARNING, "Offset not contained in string");
break;
}