summaryrefslogtreecommitdiff
path: root/Zend/zend_string.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-04-09 15:06:53 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-04-09 15:06:53 +0200
commitd030ddb2cd27099dfd0d6a885b9aa9c9bdc3843c (patch)
tree7c35ccf8fd029defbee39188121d82d2510909d1 /Zend/zend_string.c
parent696ae335e3ef271a50f7f901725bb48c5b25bda9 (diff)
downloadphp-git-d030ddb2cd27099dfd0d6a885b9aa9c9bdc3843c.tar.gz
Export the zend_string_concat3() API
Diffstat (limited to 'Zend/zend_string.c')
-rw-r--r--Zend/zend_string.c16
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;
+}