Commit:    7156c5cb393b4a55d9c82b40218fae9b24c1816f
Author:    Anatol Belski <a...@php.net>         Wed, 20 Nov 2013 17:11:10 +0100
Parents:   6a60a038593db369f6275b440350a12aaa9649c1
Branches:  str_size_and_int64

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=7156c5cb393b4a55d9c82b40218fae9b24c1816f

Log:
datatype fixes for iconv

Changed paths:
  M  ext/iconv/iconv.c
  M  main/SAPI.c
  M  main/SAPI.h

diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c
index 21d775c..b706104 100644
--- a/ext/iconv/iconv.c
+++ b/ext/iconv/iconv.c
@@ -196,15 +196,15 @@ static php_iconv_err_t _php_iconv_appendc(smart_str *d, 
const char c, iconv_t cd
 
 static void _php_iconv_show_error(php_iconv_err_t err, const char 
*out_charset, const char *in_charset TSRMLS_DC);
 
-static php_iconv_err_t _php_iconv_strlen(unsigned int *pretval, const char 
*str, size_t nbytes, const char *enc);
+static php_iconv_err_t _php_iconv_strlen(zend_str_size_uint *pretval, const 
char *str, size_t nbytes, const char *enc);
 
-static php_iconv_err_t _php_iconv_substr(smart_str *pretval, const char *str, 
size_t nbytes, int offset, int len, const char *enc);
+static php_iconv_err_t _php_iconv_substr(smart_str *pretval, const char *str, 
size_t nbytes, php_int_t offset, php_int_t len, const char *enc);
 
-static php_iconv_err_t _php_iconv_strpos(unsigned int *pretval, const char 
*haystk, size_t haystk_nbytes, const char *ndl, size_t ndl_nbytes, int offset, 
const char *enc);
+static php_iconv_err_t _php_iconv_strpos(zend_str_size_uint *pretval, const 
char *haystk, size_t haystk_nbytes, const char *ndl, size_t ndl_nbytes, 
php_int_t offset, const char *enc);
 
-static php_iconv_err_t _php_iconv_mime_encode(smart_str *pretval, const char 
*fname, size_t fname_nbytes, const char *fval, size_t fval_nbytes, unsigned int 
max_line_len, const char *lfchars, php_iconv_enc_scheme_t enc_scheme, const 
char *out_charset, const char *enc);
+static php_iconv_err_t _php_iconv_mime_encode(smart_str *pretval, const char 
*fname, size_t fname_nbytes, const char *fval, size_t fval_nbytes, 
zend_str_size_uint max_line_len, const char *lfchars, php_iconv_enc_scheme_t 
enc_scheme, const char *out_charset, const char *enc);
 
-static php_iconv_err_t _php_iconv_mime_decode(smart_str *pretval, const char 
*str, size_t str_nbytes, const char *enc, const char **next_pos, int mode);
+static php_iconv_err_t _php_iconv_mime_decode(smart_str *pretval, const char 
*str, size_t str_nbytes, const char *enc, const char **next_pos, php_int_t 
mode);
 
 static php_iconv_err_t php_iconv_stream_filter_register_factory(TSRMLS_D);
 static php_iconv_err_t php_iconv_stream_filter_unregister_factory(TSRMLS_D);
@@ -332,7 +332,8 @@ static php_output_handler 
*php_iconv_output_handler_init(const char *handler_nam
 static int php_iconv_output_handler(void **nothing, php_output_context 
*output_context)
 {
        char *s, *content_type, *mimetype = NULL;
-       int output_status, mimetype_len = 0;
+       int output_status;
+       zend_str_size_int mimetype_len = 0;
        PHP_OUTPUT_TSRMLS(output_context);
 
        if (output_context->op & PHP_OUTPUT_HANDLER_START) {
@@ -353,13 +354,13 @@ static int php_iconv_output_handler(void **nothing, 
php_output_context *output_c
                }
 
                if (mimetype != NULL && !(output_context->op & 
PHP_OUTPUT_HANDLER_CLEAN)) {
-                       int len;
+                       php_int_t len;
                        char *p = strstr(ICONVG(output_encoding), "//");
 
                        if (p) {
-                               len = spprintf(&content_type, 0, 
"Content-Type:%.*s; charset=%.*s", mimetype_len ? mimetype_len : (int) 
strlen(mimetype), mimetype, (int)(p - ICONVG(output_encoding)), 
ICONVG(output_encoding));
+                               len = spprintf(&content_type, 0, 
"Content-Type:%.*s; charset=%.*s", mimetype_len ? mimetype_len : 
(zend_str_size_int) strlen(mimetype), mimetype, (zend_str_size_int)(p - 
ICONVG(output_encoding)), ICONVG(output_encoding));
                        } else {
-                               len = spprintf(&content_type, 0, 
"Content-Type:%.*s; charset=%s", mimetype_len ? mimetype_len : (int) 
strlen(mimetype), mimetype, ICONVG(output_encoding));
+                               len = spprintf(&content_type, 0, 
"Content-Type:%.*s; charset=%s", mimetype_len ? mimetype_len : 
(zend_str_size_int) strlen(mimetype), mimetype, ICONVG(output_encoding));
                        }
                        if (content_type && SUCCESS == 
sapi_add_header(content_type, len, 0)) {
                                SG(sapi_headers).send_default_content_type = 0;
@@ -639,7 +640,7 @@ PHP_ICONV_API php_iconv_err_t php_iconv_string(const char 
*in_p, size_t in_len,
 /* }}} */
 
 /* {{{ _php_iconv_strlen() */
-static php_iconv_err_t _php_iconv_strlen(unsigned int *pretval, const char 
*str, size_t nbytes, const char *enc)
+static php_iconv_err_t _php_iconv_strlen(zend_str_size_uint *pretval, const 
char *str, size_t nbytes, const char *enc)
 {
        char buf[GENERIC_SUPERSET_NBYTES*2];
 
@@ -653,9 +654,9 @@ static php_iconv_err_t _php_iconv_strlen(unsigned int 
*pretval, const char *str,
        char *out_p;
        size_t out_left;
 
-       unsigned int cnt;
+       zend_str_size_uint cnt;
 
-       *pretval = (unsigned int)-1;
+       *pretval = (zend_str_size_uint)-1;
 
        cd = iconv_open(GENERIC_SUPERSET_NAME, enc);
 
@@ -671,7 +672,8 @@ static php_iconv_err_t _php_iconv_strlen(unsigned int 
*pretval, const char *str,
 #endif
        }
 
-       errno = out_left = 0;
+       errno = 0;
+       out_left = 0;
 
        for (in_p = str, in_left = nbytes, cnt = 0; in_left > 0; cnt+=2) {
                size_t prev_in_left;
@@ -723,7 +725,7 @@ static php_iconv_err_t _php_iconv_strlen(unsigned int 
*pretval, const char *str,
 
 /* {{{ _php_iconv_substr() */
 static php_iconv_err_t _php_iconv_substr(smart_str *pretval,
-       const char *str, size_t nbytes, int offset, int len, const char *enc)
+       const char *str, size_t nbytes, php_int_t offset, php_int_t len, const 
char *enc)
 {
        char buf[GENERIC_SUPERSET_NBYTES];
 
@@ -737,8 +739,8 @@ static php_iconv_err_t _php_iconv_substr(smart_str *pretval,
        char *out_p;
        size_t out_left;
 
-       unsigned int cnt;
-       int total_len;
+       zend_str_size_uint cnt;
+       php_int_t total_len;
 
        err = _php_iconv_strlen(&total_len, str, nbytes, enc);
        if (err != PHP_ICONV_ERR_SUCCESS) {
@@ -868,10 +870,10 @@ static php_iconv_err_t _php_iconv_substr(smart_str 
*pretval,
 /* }}} */
 
 /* {{{ _php_iconv_strpos() */
-static php_iconv_err_t _php_iconv_strpos(unsigned int *pretval,
+static php_iconv_err_t _php_iconv_strpos(zend_str_size_uint *pretval,
        const char *haystk, size_t haystk_nbytes,
        const char *ndl, size_t ndl_nbytes,
-       int offset, const char *enc)
+       php_int_t offset, const char *enc)
 {
        char buf[GENERIC_SUPERSET_NBYTES];
 
@@ -885,15 +887,15 @@ static php_iconv_err_t _php_iconv_strpos(unsigned int 
*pretval,
        char *out_p;
        size_t out_left;
 
-       unsigned int cnt;
+       zend_str_size_uint cnt;
 
        char *ndl_buf;
        const char *ndl_buf_p;
        size_t ndl_buf_len, ndl_buf_left;
 
-       unsigned int match_ofs;
+       zend_str_size_uint match_ofs;
 
-       *pretval = (unsigned int)-1;
+       *pretval = (zend_str_size_uint)-1;
 
        err = php_iconv_string(ndl, ndl_nbytes,
                &ndl_buf, &ndl_buf_len, GENERIC_SUPERSET_NAME, enc);
@@ -924,7 +926,7 @@ static php_iconv_err_t _php_iconv_strpos(unsigned int 
*pretval,
 
        ndl_buf_p = ndl_buf;
        ndl_buf_left = ndl_buf_len;
-       match_ofs = (unsigned int)-1;
+       match_ofs = (zend_str_size_uint)-1;
 
        for (in_p = haystk, in_left = haystk_nbytes, cnt = 0; in_left > 0; 
++cnt) {
                size_t prev_in_left;
@@ -957,9 +959,9 @@ static php_iconv_err_t _php_iconv_strpos(unsigned int 
*pretval,
                        }
                }
                if (offset >= 0) {
-                       if (cnt >= (unsigned int)offset) {
+                       if (cnt >= (zend_str_size_uint)offset) {
                                if (_php_iconv_memequal(buf, ndl_buf_p, 
sizeof(buf))) {
-                                       if (match_ofs == (unsigned int)-1) {
+                                       if (match_ofs == 
(zend_str_size_uint)-1) {
                                                match_ofs = cnt;
                                        }
                                        ndl_buf_p += GENERIC_SUPERSET_NBYTES;
@@ -969,11 +971,11 @@ static php_iconv_err_t _php_iconv_strpos(unsigned int 
*pretval,
                                                break;
                                        }
                                } else {
-                                       unsigned int i, j, lim;
+                                       zend_str_size_uint i, j, lim;
 
                                        i = 0;
                                        j = GENERIC_SUPERSET_NBYTES;
-                                       lim = (unsigned int)(ndl_buf_p - 
ndl_buf);
+                                       lim = (zend_str_size_uint)(ndl_buf_p - 
ndl_buf);
 
                                        while (j < lim) {
                                                if 
(_php_iconv_memequal(&ndl_buf[j], &ndl_buf[i],
@@ -992,7 +994,7 @@ static php_iconv_err_t _php_iconv_strpos(unsigned int 
*pretval,
                                                ndl_buf_p = &ndl_buf[i];
                                                ndl_buf_left = ndl_buf_len - i;
                                        } else {
-                                               match_ofs = (unsigned int)-1;
+                                               match_ofs = 
(zend_str_size_uint)-1;
                                                ndl_buf_p = ndl_buf;
                                                ndl_buf_left = ndl_buf_len;
                                        }
@@ -1000,7 +1002,7 @@ static php_iconv_err_t _php_iconv_strpos(unsigned int 
*pretval,
                        }
                } else {
                        if (_php_iconv_memequal(buf, ndl_buf_p, sizeof(buf))) {
-                               if (match_ofs == (unsigned int)-1) {
+                               if (match_ofs == (zend_str_size_uint)-1) {
                                        match_ofs = cnt;
                                }
                                ndl_buf_p += GENERIC_SUPERSET_NBYTES;
@@ -1012,11 +1014,11 @@ static php_iconv_err_t _php_iconv_strpos(unsigned int 
*pretval,
                                        match_ofs = -1;
                                }
                        } else {
-                               unsigned int i, j, lim;
+                               zend_str_size_uint i, j, lim;
 
                                i = 0;
                                j = GENERIC_SUPERSET_NBYTES;
-                               lim = (unsigned int)(ndl_buf_p - ndl_buf);
+                               lim = (zend_str_size_uint)(ndl_buf_p - ndl_buf);
 
                                while (j < lim) {
                                        if (_php_iconv_memequal(&ndl_buf[j], 
&ndl_buf[i],
@@ -1035,7 +1037,7 @@ static php_iconv_err_t _php_iconv_strpos(unsigned int 
*pretval,
                                        ndl_buf_p = &ndl_buf[i];
                                        ndl_buf_left = ndl_buf_len - i;
                                } else {
-                                       match_ofs = (unsigned int)-1;
+                                       match_ofs = (zend_str_size_uint)-1;
                                        ndl_buf_p = ndl_buf;
                                        ndl_buf_left = ndl_buf_len;
                                }
@@ -1054,11 +1056,11 @@ static php_iconv_err_t _php_iconv_strpos(unsigned int 
*pretval,
 /* }}} */
 
 /* {{{ _php_iconv_mime_encode() */
-static php_iconv_err_t _php_iconv_mime_encode(smart_str *pretval, const char 
*fname, size_t fname_nbytes, const char *fval, size_t fval_nbytes, unsigned int 
max_line_len, const char *lfchars, php_iconv_enc_scheme_t enc_scheme, const 
char *out_charset, const char *enc)
+static php_iconv_err_t _php_iconv_mime_encode(smart_str *pretval, const char 
*fname, size_t fname_nbytes, const char *fval, size_t fval_nbytes, 
zend_str_size_uint max_line_len, const char *lfchars, php_iconv_enc_scheme_t 
enc_scheme, const char *out_charset, const char *enc)
 {
        php_iconv_err_t err = PHP_ICONV_ERR_SUCCESS;
        iconv_t cd = (iconv_t)(-1), cd_pl = (iconv_t)(-1);
-       unsigned int char_cnt = 0;
+       zend_str_size_uint char_cnt = 0;
        size_t out_charset_len;
        size_t lfchars_len;
        char *buf = NULL;
@@ -1385,7 +1387,7 @@ out:
 /* }}} */
 
 /* {{{ _php_iconv_mime_decode() */
-static php_iconv_err_t _php_iconv_mime_decode(smart_str *pretval, const char 
*str, size_t str_nbytes, const char *enc, const char **next_pos, int mode)
+static php_iconv_err_t _php_iconv_mime_decode(smart_str *pretval, const char 
*str, size_t str_nbytes, const char *enc, const char **next_pos, php_int_t mode)
 {
        php_iconv_err_t err = PHP_ICONV_ERR_SUCCESS;
 
@@ -1964,7 +1966,7 @@ PHP_FUNCTION(iconv_strlen)
 
        php_iconv_err_t err;
 
-       unsigned int retval;
+       zend_str_size_uint retval;
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|S",
                &str, &str_len, &charset, &charset_len) == FAILURE) {
@@ -1979,7 +1981,7 @@ PHP_FUNCTION(iconv_strlen)
        err = _php_iconv_strlen(&retval, str, str_len, charset);
        _php_iconv_show_error(err, GENERIC_SUPERSET_NAME, charset TSRMLS_CC);
        if (err == PHP_ICONV_ERR_SUCCESS) {
-               RETVAL_LONG(retval);
+               RETVAL_LONG((php_int_t)retval);
        } else {
                RETVAL_FALSE;
        }
@@ -1994,13 +1996,13 @@ PHP_FUNCTION(iconv_substr)
        zend_str_size_int charset_len = 0;
        char *str;
        zend_str_size_int str_len;
-       long offset, length = 0;
+       php_int_t offset, length = 0;
 
        php_iconv_err_t err;
 
        smart_str retval = {0};
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Sl|lS",
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Si|iS",
                &str, &str_len, &offset, &length,
                &charset, &charset_len) == FAILURE) {
                RETURN_FALSE;
@@ -2036,13 +2038,13 @@ PHP_FUNCTION(iconv_strpos)
        zend_str_size_int haystk_len;
        char *ndl;
        zend_str_size_int ndl_len;
-       long offset = 0;
+       php_int_t offset = 0;
 
        php_iconv_err_t err;
 
-       unsigned int retval;
-
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SS|lS",
+       zend_str_size_uint retval;
+__debugbreak();
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SS|iS",
                &haystk, &haystk_len, &ndl, &ndl_len,
                &offset, &charset, &charset_len) == FAILURE) {
                RETURN_FALSE;
@@ -2066,8 +2068,8 @@ PHP_FUNCTION(iconv_strpos)
                                offset, charset);
        _php_iconv_show_error(err, GENERIC_SUPERSET_NAME, charset TSRMLS_CC);
 
-       if (err == PHP_ICONV_ERR_SUCCESS && retval != (unsigned int)-1) {
-               RETVAL_LONG((long)retval);
+       if (err == PHP_ICONV_ERR_SUCCESS && retval != (zend_str_size_uint)-1) {
+               RETVAL_LONG((php_int_t)retval);
        } else {
                RETVAL_FALSE;
        }
@@ -2087,7 +2089,7 @@ PHP_FUNCTION(iconv_strrpos)
 
        php_iconv_err_t err;
 
-       unsigned int retval;
+       zend_str_size_uint retval;
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "SS|S",
                &haystk, &haystk_len, &ndl, &ndl_len,
@@ -2108,8 +2110,8 @@ PHP_FUNCTION(iconv_strrpos)
                                -1, charset);
        _php_iconv_show_error(err, GENERIC_SUPERSET_NAME, charset TSRMLS_CC);
 
-       if (err == PHP_ICONV_ERR_SUCCESS && retval != (unsigned int)-1) {
-               RETVAL_LONG((long)retval);
+       if (err == PHP_ICONV_ERR_SUCCESS && retval != (zend_str_size_uint)-1) {
+               RETVAL_LONG((php_int_t)retval);
        } else {
                RETVAL_FALSE;
        }
@@ -2131,7 +2133,7 @@ PHP_FUNCTION(iconv_mime_encode)
 
        const char *in_charset = ICONVG(internal_encoding);
        const char *out_charset = in_charset;
-       long line_len = 76;
+       php_int_t line_len = 76;
        const char *lfchars = "\r\n";
        php_iconv_enc_scheme_t scheme_id = PHP_ICONV_ENC_SCHEME_BASE64;
 
@@ -2244,13 +2246,13 @@ PHP_FUNCTION(iconv_mime_decode)
        zend_str_size_int encoded_str_len;
        char *charset = ICONVG(internal_encoding);
        zend_str_size_int charset_len = 0;
-       long mode = 0;
+       php_int_t mode = 0;
 
        smart_str retval = {0};
 
        php_iconv_err_t err;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|lS",
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|iS",
                &encoded_str, &encoded_str_len, &mode, &charset, &charset_len) 
== FAILURE) {
 
                RETURN_FALSE;
@@ -2285,11 +2287,11 @@ PHP_FUNCTION(iconv_mime_decode_headers)
        zend_str_size_int encoded_str_len;
        char *charset = ICONVG(internal_encoding);
        zend_str_size_int charset_len = 0;
-       long mode = 0;
+       php_int_t mode = 0;
 
        php_iconv_err_t err = PHP_ICONV_ERR_SUCCESS;
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|lS",
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "S|iS",
                &encoded_str, &encoded_str_len, &mode, &charset, &charset_len) 
== FAILURE) {
 
                RETURN_FALSE;
diff --git a/main/SAPI.c b/main/SAPI.c
index 3cf7204..b8a6d97 100644
--- a/main/SAPI.c
+++ b/main/SAPI.c
@@ -241,9 +241,9 @@ static void sapi_read_post_data(TSRMLS_D)
        }
 }
 
-SAPI_API int sapi_read_post_block(char *buffer, size_t buflen TSRMLS_DC)
+SAPI_API zend_str_size_int sapi_read_post_block(char *buffer, size_t buflen 
TSRMLS_DC)
 {
-       int read_bytes;
+       zend_str_size_int read_bytes;
 
        if (!sapi_module.read_post) {
                return -1;
@@ -623,7 +623,7 @@ static void sapi_remove_header(zend_llist *l, char *name, 
zend_str_size_uint len
        }
 }
 
-SAPI_API int sapi_add_header_ex(char *header_line, uint header_line_len, 
zend_bool duplicate, zend_bool replace TSRMLS_DC)
+SAPI_API int sapi_add_header_ex(char *header_line, zend_str_size_uint 
header_line_len, zend_bool duplicate, zend_bool replace TSRMLS_DC)
 {
        sapi_header_line ctr = {0};
        int r;
diff --git a/main/SAPI.h b/main/SAPI.h
index faef411..124d0cc 100644
--- a/main/SAPI.h
+++ b/main/SAPI.h
@@ -183,14 +183,14 @@ BEGIN_EXTERN_C()
 SAPI_API int sapi_header_op(sapi_header_op_enum op, void *arg TSRMLS_DC);
 
 /* Deprecated functions. Use sapi_header_op instead. */
-SAPI_API int sapi_add_header_ex(char *header_line, uint header_line_len, 
zend_bool duplicate, zend_bool replace TSRMLS_DC);
+SAPI_API int sapi_add_header_ex(char *header_line, zend_str_size_uint 
header_line_len, zend_bool duplicate, zend_bool replace TSRMLS_DC);
 #define sapi_add_header(a, b, c) sapi_add_header_ex((a),(b),(c),1 TSRMLS_CC)
 
 
 SAPI_API int sapi_send_headers(TSRMLS_D);
 SAPI_API void sapi_free_header(sapi_header_struct *sapi_header);
 SAPI_API void sapi_handle_post(void *arg TSRMLS_DC);
-SAPI_API int sapi_read_post_block(char *buffer, size_t buflen TSRMLS_DC);
+SAPI_API zend_str_size_int sapi_read_post_block(char *buffer, size_t buflen 
TSRMLS_DC);
 SAPI_API int sapi_register_post_entries(sapi_post_entry *post_entry TSRMLS_DC);
 SAPI_API int sapi_register_post_entry(sapi_post_entry *post_entry TSRMLS_DC);
 SAPI_API void sapi_unregister_post_entry(sapi_post_entry *post_entry 
TSRMLS_DC);
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to