Encodes string using MIME base64 algorithm */
PHP_FUNCTION(base64_encode)
{
- pval **str;
+ char *str;
unsigned char *result;
- int ret_length;
+ int str_len, ret_length;
- if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &str) == FAILURE) {
- WRONG_PARAM_COUNT;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) {
+ return;
}
- convert_to_string_ex(str);
- result = php_base64_encode(Z_STRVAL_PP(str), Z_STRLEN_PP(str), &ret_length);
+ result = php_base64_encode(str, str_len, &ret_length);
if (result != NULL) {
RETVAL_STRINGL(result, ret_length, 0);
} else {
Decodes string using MIME base64 algorithm */
PHP_FUNCTION(base64_decode)
{
- pval **str;
+ char *str;
unsigned char *result;
- int ret_length;
+ int str_len, ret_length;
- if (ZEND_NUM_ARGS()!=1 || zend_get_parameters_ex(1, &str) == FAILURE) {
- WRONG_PARAM_COUNT;
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &str, &str_len) == FAILURE) {
+ return;
}
- convert_to_string_ex(str);
- result = php_base64_decode(Z_STRVAL_PP(str), Z_STRLEN_PP(str), &ret_length);
+ result = php_base64_decode(str, str_len, &ret_length);
if (result != NULL) {
RETVAL_STRINGL(result, ret_length, 0);
} else {