diff options
Diffstat (limited to 'ext/standard/base64.c')
| -rw-r--r-- | ext/standard/base64.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/ext/standard/base64.c b/ext/standard/base64.c index b5de548046..c4f66e638a 100644 --- a/ext/standard/base64.c +++ b/ext/standard/base64.c @@ -60,7 +60,7 @@ PHPAPI zend_string *php_base64_encode(const unsigned char *str, size_t length) / zend_string *result; result = zend_string_alloc(((length + 2) / 3) * 4 * sizeof(char), 0); - p = (unsigned char *)result->val; + p = (unsigned char *)ZSTR_VAL(result); while (length > 2) { /* keep going until we have less than 24 bits */ *p++ = base64_table[current[0] >> 2]; @@ -87,7 +87,7 @@ PHPAPI zend_string *php_base64_encode(const unsigned char *str, size_t length) / } *p = '\0'; - result->len = (p - (unsigned char *)result->val); + ZSTR_LEN(result) = (p - (unsigned char *)ZSTR_VAL(result)); return result; } @@ -170,18 +170,18 @@ PHPAPI zend_string *php_base64_decode_ex(const unsigned char *str, size_t length switch(i % 4) { case 0: - result->val[j] = ch << 2; + ZSTR_VAL(result)[j] = ch << 2; break; case 1: - result->val[j++] |= ch >> 4; - result->val[j] = (ch & 0x0f) << 4; + ZSTR_VAL(result)[j++] |= ch >> 4; + ZSTR_VAL(result)[j] = (ch & 0x0f) << 4; break; case 2: - result->val[j++] |= ch >>2; - result->val[j] = (ch & 0x03) << 6; + ZSTR_VAL(result)[j++] |= ch >>2; + ZSTR_VAL(result)[j] = (ch & 0x03) << 6; break; case 3: - result->val[j++] |= ch; + ZSTR_VAL(result)[j++] |= ch; break; } i++; @@ -197,11 +197,11 @@ PHPAPI zend_string *php_base64_decode_ex(const unsigned char *str, size_t length case 2: k++; case 3: - result->val[k] = 0; + ZSTR_VAL(result)[k] = 0; } } - result->len = j; - result->val[result->len] = '\0'; + ZSTR_LEN(result) = j; + ZSTR_VAL(result)[ZSTR_LEN(result)] = '\0'; return result; } |
