moriyoshi Thu Dec 4 18:46:54 2003 EDT Modified files: /php-src/ext/iconv iconv.c Log: Type-punning is evil. Index: php-src/ext/iconv/iconv.c diff -u php-src/ext/iconv/iconv.c:1.104 php-src/ext/iconv/iconv.c:1.105 --- php-src/ext/iconv/iconv.c:1.104 Thu Dec 4 18:31:31 2003 +++ php-src/ext/iconv/iconv.c Thu Dec 4 18:46:53 2003 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: iconv.c,v 1.104 2003/12/04 23:31:31 moriyoshi Exp $ */ +/* $Id: iconv.c,v 1.105 2003/12/04 23:46:53 moriyoshi Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -985,6 +985,7 @@ size_t ini_in_left; const char *ini_in_p; size_t out_reserved = 4; + int dummy; smart_str_appendc(pretval, 'B'); char_cnt--; @@ -1066,7 +1067,9 @@ prev_in_left = in_left; - encoded = php_base64_encode(buf, (int)(out_size - out_left), &encoded_len); + encoded = php_base64_encode(buf, (int)(out_size - out_left), &dummy); + encoded_len = (size_t)dummy; + if (char_cnt < encoded_len) { /* something went wrong! */ err = PHP_ICONV_ERR_UNKNOWN; @@ -1480,10 +1483,12 @@ case '\r': case '\n': case ' ': case '\t': { char *decoded_text; size_t decoded_text_len; + int dummy; switch (enc_scheme) { case PHP_ICONV_ENC_SCHEME_BASE64: - decoded_text = (char *)php_base64_decode((unsigned char*)encoded_text, (int)encoded_text_len, &decoded_text_len); + decoded_text = (char *)php_base64_decode((unsigned char*)encoded_text, (int)encoded_text_len, &dummy); + decoded_text_len = (size_t)dummy; break; case PHP_ICONV_ENC_SCHEME_QPRINT:
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php