diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-04-09 15:06:53 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-04-09 15:06:53 +0200 |
commit | d030ddb2cd27099dfd0d6a885b9aa9c9bdc3843c (patch) | |
tree | 7c35ccf8fd029defbee39188121d82d2510909d1 /Zend/zend_string.c | |
parent | 696ae335e3ef271a50f7f901725bb48c5b25bda9 (diff) | |
download | php-git-d030ddb2cd27099dfd0d6a885b9aa9c9bdc3843c.tar.gz |
Export the zend_string_concat3() API
Diffstat (limited to 'Zend/zend_string.c')
-rw-r--r-- | Zend/zend_string.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Zend/zend_string.c b/Zend/zend_string.c index 75e7e6249f..3caeeb7a9a 100644 --- a/Zend/zend_string.c +++ b/Zend/zend_string.c @@ -461,3 +461,19 @@ ZEND_API zend_bool ZEND_FASTCALL I_WRAP_SONAME_FNNAME_ZU(NONE,zend_string_equal_ #endif #endif + +ZEND_API zend_string *zend_string_concat3( + const char *str1, size_t str1_len, + const char *str2, size_t str2_len, + const char *str3, size_t str3_len) +{ + size_t len = str1_len + str2_len + str3_len; + zend_string *res = zend_string_alloc(len, 0); + + memcpy(ZSTR_VAL(res), str1, str1_len); + memcpy(ZSTR_VAL(res) + str1_len, str2, str2_len); + memcpy(ZSTR_VAL(res) + str1_len + str2_len, str3, str3_len); + ZSTR_VAL(res)[len] = '\0'; + + return res; +} |