php-src/ext/intl/intl_convert.h
Niels Dossche b8fa1657ff
Avoid string copies in ext/intl after string conversion (#18636)
Introduces intl_convert_utf8_to_utf16_zstr() to convert a UTF-8 string
to a UTF-16 string zend_string* instance. This way we avoid a double
copy later from a UChar* into a zend_string*.
2025-05-25 12:29:36 +02:00

34 lines
1.3 KiB
C

/*
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| https://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Vadim Savchuk <vsavchuk@productengine.com> |
| Dmitry Lakhtyuk <dlakhtyuk@productengine.com> |
+----------------------------------------------------------------------+
*/
#ifndef INTL_CONVERT_H
#define INTL_CONVERT_H
#include <unicode/ustring.h>
void intl_convert_utf8_to_utf16(
UChar** target, int32_t* target_len,
const char* src, size_t src_len,
UErrorCode* status );
zend_string *intl_convert_utf8_to_utf16_zstr(
const char* src, size_t src_len,
UErrorCode* status );
zend_string* intl_convert_utf16_to_utf8(
const UChar* src, int32_t src_len,
UErrorCode* status );
#endif // INTL_CONVERT_H