summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoriyoshi Koizumi <moriyoshi@php.net>2003-12-04 23:46:53 +0000
committerMoriyoshi Koizumi <moriyoshi@php.net>2003-12-04 23:46:53 +0000
commit4f14ee67fb8c4860e2eec2291e922a52ffc93f47 (patch)
tree7e0acb652eb1ad079f636abde0c49142f1a3436c
parentb4f1f652b25f72b20f164a40fbc5e4f2dce07822 (diff)
downloadphp-git-4f14ee67fb8c4860e2eec2291e922a52ffc93f47.tar.gz
Type-punning is evil.
-rw-r--r--ext/iconv/iconv.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/ext/iconv/iconv.c b/ext/iconv/iconv.c
index b3a5740cfd..9cc55bbe60 100644
--- a/ext/iconv/iconv.c
+++ b/ext/iconv/iconv.c
@@ -985,6 +985,7 @@ static php_iconv_err_t _php_iconv_mime_encode(smart_str *pretval, const char *fn
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 @@ static php_iconv_err_t _php_iconv_mime_encode(smart_str *pretval, const char *fn
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 @@ static php_iconv_err_t _php_iconv_mime_decode(smart_str *pretval, const char *st
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: