summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_smart_str.c7
-rw-r--r--Zend/zend_smart_str.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/Zend/zend_smart_str.c b/Zend/zend_smart_str.c
index c9b97acd1d..a42c9f0af4 100644
--- a/Zend/zend_smart_str.c
+++ b/Zend/zend_smart_str.c
@@ -117,3 +117,10 @@ ZEND_API void ZEND_FASTCALL smart_str_append_escaped(smart_str *str, const char
}
}
}
+
+ZEND_API void ZEND_FASTCALL smart_str_append_printf(smart_str *dest, const char *format, ...) {
+ va_list arg;
+ va_start(arg, format);
+ zend_printf_to_smart_str(dest, format, arg);
+ va_end(arg);
+}
diff --git a/Zend/zend_smart_str.h b/Zend/zend_smart_str.h
index f31d53e019..505b6f3b04 100644
--- a/Zend/zend_smart_str.h
+++ b/Zend/zend_smart_str.h
@@ -46,6 +46,8 @@ BEGIN_EXTERN_C()
ZEND_API void ZEND_FASTCALL smart_str_erealloc(smart_str *str, size_t len);
ZEND_API void ZEND_FASTCALL smart_str_realloc(smart_str *str, size_t len);
ZEND_API void ZEND_FASTCALL smart_str_append_escaped(smart_str *str, const char *s, size_t l);
+ZEND_API void ZEND_FASTCALL smart_str_append_printf(smart_str *dest, const char *format, ...)
+ ZEND_ATTRIBUTE_FORMAT(printf, 2, 3);
END_EXTERN_C()