]> granicus.if.org Git - php/commitdiff
Export zend_s(tr)pprintf
authorNikita Popov <nikic@php.net>
Sun, 18 Dec 2016 16:31:00 +0000 (17:31 +0100)
committerNikita Popov <nikic@php.net>
Sun, 1 Jan 2017 20:28:20 +0000 (21:28 +0100)
It's annoying that in Zend you have to use zend_strpprintf instead
of strpprintf, while in PHP you have to use strpprintf instead of
zend_strpprintf.

Make zend_s(tr)pprintf always available and keep s(tr)pprintf as
macro aliases.

Zend/zend.c
Zend/zend.h
Zend/zend_exceptions.c
Zend/zend_exceptions.h
main/spprintf.c
main/spprintf.h

index 5858fb3ac8b78ca6adcb6f746993c83332507c02..4dadcd73b7be0ead3d987a38c9e0a1f42504398a 100644 (file)
@@ -159,6 +159,30 @@ static uint32_t zend_version_info_length;
 #define ZEND_CORE_VERSION_INFO "Zend Engine v" ZEND_VERSION ", Copyright (c) 1998-2016 Zend Technologies\n"
 #define PRINT_ZVAL_INDENT 4
 
+ZEND_API size_t zend_spprintf(char **message, size_t max_len, const char *format, ...) /* {{{ */
+{
+       va_list arg;
+       size_t len;
+
+       va_start(arg, format);
+       len = zend_vspprintf(message, max_len, format, arg);
+       va_end(arg);
+       return len;
+}
+/* }}} */
+
+ZEND_API zend_string *zend_strpprintf(size_t max_len, const char *format, ...) /* {{{ */
+{
+       va_list arg;
+       zend_string *str;
+
+       va_start(arg, format);
+       str = zend_vstrpprintf(max_len, format, arg);
+       va_end(arg);
+       return str;
+}
+/* }}} */
+
 static void zend_print_zval_r_to_buf(smart_str *buf, zval *expr, int indent);
 
 static void print_hash(smart_str *buf, HashTable *ht, int indent, zend_bool is_object) /* {{{ */
index 59d906d24a1c58bb599aee34cb868d887d1b65fd..e398dac9a1165e91fa5977447c51d97e7f3a720d 100644 (file)
@@ -226,6 +226,9 @@ void zend_set_utility_values(zend_utility_values *utility_values);
 
 ZEND_API ZEND_COLD void _zend_bailout(char *filename, uint32_t lineno);
 
+ZEND_API size_t zend_spprintf(char **message, size_t max_len, const char *format, ...) ZEND_ATTRIBUTE_FORMAT(printf, 3, 4);
+ZEND_API zend_string *zend_strpprintf(size_t max_len, const char *format, ...) ZEND_ATTRIBUTE_FORMAT(printf, 2, 3);
+
 ZEND_API char *get_zend_version(void);
 ZEND_API int zend_make_printable_zval(zval *expr, zval *expr_copy);
 ZEND_API size_t zend_print_zval(zval *expr, int indent);
index 0aaca540fbaa3bd1a70a61e6d9d5b32037ceeec5..3072b182ce2e04fc583a328e43be27ffab50c9de 100644 (file)
@@ -651,30 +651,6 @@ ZEND_METHOD(exception, getPrevious)
        ZVAL_COPY(return_value, GET_PROPERTY_SILENT(getThis(), ZEND_STR_PREVIOUS));
 } /* }}} */
 
-size_t zend_spprintf(char **message, size_t max_len, const char *format, ...) /* {{{ */
-{
-       va_list arg;
-       size_t len;
-
-       va_start(arg, format);
-       len = zend_vspprintf(message, max_len, format, arg);
-       va_end(arg);
-       return len;
-}
-/* }}} */
-
-zend_string *zend_strpprintf(size_t max_len, const char *format, ...) /* {{{ */
-{
-       va_list arg;
-       zend_string *str;
-
-       va_start(arg, format);
-       str = zend_vstrpprintf(max_len, format, arg);
-       va_end(arg);
-       return str;
-}
-/* }}} */
-
 /* {{{ proto string Exception|Error::__toString()
    Obtain the string representation of the Exception object */
 ZEND_METHOD(exception, __toString)
index e88b5e1db7cc98672927268ce14d42728bc79ad7..61f950050691f5ed5c9c48b898e2c483346f0917 100644 (file)
@@ -68,10 +68,6 @@ extern ZEND_API void (*zend_throw_exception_hook)(zval *ex);
 /* show an exception using zend_error(severity,...), severity should be E_ERROR */
 ZEND_API ZEND_COLD void zend_exception_error(zend_object *exception, int severity);
 
-/* do not export, in php it's available thru spprintf directly */
-size_t zend_spprintf(char **message, size_t max_len, const char *format, ...) ZEND_ATTRIBUTE_FORMAT(printf, 3, 4);
-zend_string *zend_strpprintf(size_t max_len, const char *format, ...) ZEND_ATTRIBUTE_FORMAT(printf, 2, 3);
-
 #include "zend_globals.h"
 
 static zend_always_inline void zend_rethrow_exception(zend_execute_data *execute_data)
index 5a8ce077201e7b77ffb67777d5bb53fff2f0256d..8f141c997860c8c9d8631f1879543e8815f37c1f 100644 (file)
@@ -857,18 +857,6 @@ PHPAPI size_t vspprintf(char **pbuf, size_t max_len, const char *format, va_list
 }
 /* }}} */
 
-PHPAPI size_t spprintf(char **pbuf, size_t max_len, const char *format, ...) /* {{{ */
-{
-       size_t cc;
-       va_list ap;
-
-       va_start(ap, format);
-       cc = vspprintf(pbuf, max_len, format, ap);
-       va_end(ap);
-       return (cc);
-}
-/* }}} */
-
 PHPAPI zend_string *vstrpprintf(size_t max_len, const char *format, va_list ap) /* {{{ */
 {
        smart_str buf = {0};
@@ -888,18 +876,6 @@ PHPAPI zend_string *vstrpprintf(size_t max_len, const char *format, va_list ap)
 }
 /* }}} */
 
-PHPAPI zend_string *strpprintf(size_t max_len, const char *format, ...) /* {{{ */
-{
-       va_list ap;
-       zend_string *str;
-
-       va_start(ap, format);
-       str = vstrpprintf(max_len, format, ap);
-       va_end(ap);
-       return str;
-}
-/* }}} */
-
 /*
  * Local variables:
  * tab-width: 4
index 82d2e2378c422fe28197315c10850cd48156d622..db684c2be85b71ec26a53488fe2a4e31fc4ec8a9 100644 (file)
@@ -37,15 +37,13 @@ There is also snprintf: See difference explained in snprintf.h
 #include "snprintf.h"
 
 BEGIN_EXTERN_C()
-PHPAPI size_t spprintf( char **pbuf, size_t max_len, const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 3, 4);
-
 PHPAPI size_t vspprintf(char **pbuf, size_t max_len, const char *format, va_list ap) PHP_ATTRIBUTE_FORMAT(printf, 3, 0);
-
 PHPAPI zend_string *vstrpprintf(size_t max_len, const char *format, va_list ap) PHP_ATTRIBUTE_FORMAT(printf, 2, 0);
-
-PHPAPI zend_string *strpprintf(size_t max_len, const char *format, ...) PHP_ATTRIBUTE_FORMAT(printf, 2, 3);
 END_EXTERN_C()
 
+#define spprintf zend_spprintf
+#define strpprintf zend_strpprintf
+
 #endif /* SNPRINTF_H */
 
 /*