]> granicus.if.org Git - php/commitdiff
fix signed/unsigned mismatch warnings
authorAnatol Belski <ab@php.net>
Tue, 16 Sep 2014 20:47:30 +0000 (22:47 +0200)
committerAnatol Belski <ab@php.net>
Tue, 16 Sep 2014 22:56:38 +0000 (00:56 +0200)
ext/standard/string.c

index 7b18acf83cf916743e4d8aff04b3156618d3954d..a2ec4798fece8a4fb8ea5b1ea4bde45c03e42274 100644 (file)
@@ -1813,7 +1813,7 @@ PHP_FUNCTION(strpos)
        ZEND_PARSE_PARAMETERS_END();
 #endif
 
-       if (offset < 0 || offset > haystack->len) {
+       if (offset < 0 || (size_t)offset > haystack->len) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset not contained in string");
                RETURN_FALSE;
        }
@@ -1863,7 +1863,7 @@ PHP_FUNCTION(stripos)
                return;
        }
 
-       if (offset < 0 || offset > haystack->len) {
+       if (offset < 0 || (size_t)offset > haystack->len) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset not contained in string");
                RETURN_FALSE;
        }
@@ -1951,20 +1951,20 @@ PHP_FUNCTION(strrpos)
        }
 
        if (offset >= 0) {
-               if (offset > haystack->len) {
+               if ((size_t)offset > haystack->len) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset is greater than the length of haystack string");
                        RETURN_FALSE;
                }
-               p = haystack->val + offset;
+               p = haystack->val + (size_t)offset;
                e = haystack->val + haystack->len - needle_len;
        } else {
-               if (offset < -INT_MAX || -offset > haystack->len) {
+               if (offset < -INT_MAX || (size_t)(-offset) > haystack->len) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Offset is greater than the length of haystack string");
                        RETURN_FALSE;
                }
 
                p = haystack->val;
-               if (needle_len > -offset) {
+               if (needle_len > (size_t)(-offset)) {
                        e = haystack->val + haystack->len - needle_len;
                } else {
                        e = haystack->val + haystack->len + offset;