diff options
author | Nikita Popov <nikic@php.net> | 2016-12-18 17:31:00 +0100 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2017-01-01 21:28:20 +0100 |
commit | c7742e280a4edcc8b216d7b798c805c9a439d663 (patch) | |
tree | 50cf8b5c8ca25827faaad56a0b5bc10d5afddfac | |
parent | 38f72cea1bcfecc2a04c055418e4518bfd05c04a (diff) | |
download | php-git-c7742e280a4edcc8b216d7b798c805c9a439d663.tar.gz |
Export zend_s(tr)pprintf
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.
-rw-r--r-- | Zend/zend.c | 24 | ||||
-rw-r--r-- | Zend/zend.h | 3 | ||||
-rw-r--r-- | Zend/zend_exceptions.c | 24 | ||||
-rw-r--r-- | Zend/zend_exceptions.h | 4 | ||||
-rw-r--r-- | main/spprintf.c | 24 | ||||
-rw-r--r-- | main/spprintf.h | 8 |
6 files changed, 30 insertions, 57 deletions
diff --git a/Zend/zend.c b/Zend/zend.c index 5858fb3ac8..4dadcd73b7 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -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) /* {{{ */ diff --git a/Zend/zend.h b/Zend/zend.h index 59d906d24a..e398dac9a1 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -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); diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c index 0aaca540fb..3072b182ce 100644 --- a/Zend/zend_exceptions.c +++ b/Zend/zend_exceptions.c @@ -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) diff --git a/Zend/zend_exceptions.h b/Zend/zend_exceptions.h index e88b5e1db7..61f9500506 100644 --- a/Zend/zend_exceptions.h +++ b/Zend/zend_exceptions.h @@ -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) diff --git a/main/spprintf.c b/main/spprintf.c index 5a8ce07720..8f141c9978 100644 --- a/main/spprintf.c +++ b/main/spprintf.c @@ -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 diff --git a/main/spprintf.h b/main/spprintf.h index 82d2e2378c..db684c2be8 100644 --- a/main/spprintf.h +++ b/main/spprintf.h @@ -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 */ /* |