jani Mon Nov 5 12:07:37 2007 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/standard base64.c Log: MFH http://cvs.php.net/viewvc.cgi/php-src/ext/standard/base64.c?r1=1.43.2.2.2.3&r2=1.43.2.2.2.3.2.1&diff_format=u Index: php-src/ext/standard/base64.c diff -u php-src/ext/standard/base64.c:1.43.2.2.2.3 php-src/ext/standard/base64.c:1.43.2.2.2.3.2.1 --- php-src/ext/standard/base64.c:1.43.2.2.2.3 Sat Jul 21 01:24:26 2007 +++ php-src/ext/standard/base64.c Mon Nov 5 12:07:37 2007 @@ -15,21 +15,21 @@ | Author: Jim Winstead <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: base64.c,v 1.43.2.2.2.3 2007/07/21 01:24:26 jani Exp $ */ +/* $Id: base64.c,v 1.43.2.2.2.3.2.1 2007/11/05 12:07:37 jani Exp $ */ #include <string.h> #include "php.h" #include "base64.h" -/* {{{ */ -static const char base64_table[] = - { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', - 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', - 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', - 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/', '\0' - }; +/* {{{ base64 tables */ +static const char base64_table[] = { + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', + 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/', '\0' +}; static const char base64_pad = '='; @@ -53,8 +53,7 @@ }; /* }}} */ -/* {{{ php_base64_encode */ -PHPAPI unsigned char *php_base64_encode(const unsigned char *str, int length, int *ret_length) +PHPAPI unsigned char *php_base64_encode(const unsigned char *str, int length, int *ret_length) /* {{{ */ { const unsigned char *current = str; unsigned char *p; @@ -135,21 +134,20 @@ */ /* }}} */ -PHPAPI unsigned char *php_base64_decode(const unsigned char *str, int length, int *ret_length) +PHPAPI unsigned char *php_base64_decode(const unsigned char *str, int length, int *ret_length) /* {{{ */ { return php_base64_decode_ex(str, length, ret_length, 0); } +/* }}} */ -/* {{{ php_base64_decode */ -/* as above, but backwards. :) */ -PHPAPI unsigned char *php_base64_decode_ex(const unsigned char *str, int length, int *ret_length, zend_bool strict) +PHPAPI unsigned char *php_base64_decode_ex(const unsigned char *str, int length, int *ret_length, zend_bool strict) /* {{{ */ { const unsigned char *current = str; int ch, i = 0, j = 0, k; /* this sucks for threaded environments */ unsigned char *result; - - result = (unsigned char *)emalloc(length + 1); + + result = (unsigned char *)safe_emalloc(length, 1, 1); /* run through the whole string, converting as we go */ while ((ch = *current++) != '\0' && length-- > 0) { @@ -214,16 +212,15 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) { return; } - result = php_base64_encode(str, str_len, &ret_length); + result = php_base64_encode((unsigned char*)str, str_len, &ret_length); if (result != NULL) { - RETVAL_STRINGL(result, ret_length, 0); + RETVAL_STRINGL((char*)result, ret_length, 0); } else { RETURN_FALSE; } } /* }}} */ - /* {{{ proto string base64_decode(string str[, bool strict]) Decodes string using MIME base64 algorithm */ PHP_FUNCTION(base64_decode) @@ -236,16 +233,15 @@ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|b", &str, &str_len, &strict) == FAILURE) { return; } - result = php_base64_decode_ex(str, str_len, &ret_length, strict); + result = php_base64_decode_ex((unsigned char*)str, str_len, &ret_length, strict); if (result != NULL) { - RETVAL_STRINGL(result, ret_length, 0); + RETVAL_STRINGL((char*)result, ret_length, 0); } else { RETURN_FALSE; } } /* }}} */ - /* * Local variables: * tab-width: 4
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php