Skip to content

Commit 10bdd44

Browse files
committed
Use new exposed API
1 parent ae0bad5 commit 10bdd44

File tree

4 files changed

+23
-29
lines changed

4 files changed

+23
-29
lines changed

Zend/zend.c

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1813,7 +1813,6 @@ ZEND_API void zend_free_recorded_errors(void)
18131813
ZEND_API ZEND_COLD void zend_throw_error(zend_class_entry *exception_ce, const char *format, ...) /* {{{ */
18141814
{
18151815
va_list va;
1816-
char *message = NULL;
18171816

18181817
if (!exception_ce) {
18191818
exception_ce = zend_ce_error;
@@ -1825,16 +1824,16 @@ ZEND_API ZEND_COLD void zend_throw_error(zend_class_entry *exception_ce, const c
18251824
}
18261825

18271826
va_start(va, format);
1828-
zend_vspprintf(&message, 0, format, va);
1827+
zend_string *message = zend_vstrpprintf(0, format, va);
18291828

18301829
//TODO: we can't convert compile-time errors to exceptions yet???
18311830
if (EG(current_execute_data) && !CG(in_compilation)) {
1832-
zend_throw_exception(exception_ce, message, 0);
1831+
zend_throw_exception_zstr(exception_ce, message, 0);
18331832
} else {
1834-
zend_error_noreturn(E_ERROR, "%s", message);
1833+
zend_error_noreturn(E_ERROR, "%s", ZSTR_VAL(message));
18351834
}
18361835

1837-
efree(message);
1836+
zend_string_release_ex(message, false);
18381837
va_end(va);
18391838
}
18401839
/* }}} */
@@ -1865,37 +1864,34 @@ ZEND_API ZEND_COLD void zend_illegal_container_offset(const zend_string *contain
18651864
ZEND_API ZEND_COLD void zend_type_error(const char *format, ...) /* {{{ */
18661865
{
18671866
va_list va;
1868-
char *message = NULL;
18691867

18701868
va_start(va, format);
1871-
zend_vspprintf(&message, 0, format, va);
1872-
zend_throw_exception(zend_ce_type_error, message, 0);
1873-
efree(message);
1869+
zend_string *message = zend_vstrpprintf(0, format, va);
1870+
zend_throw_exception_zstr(zend_ce_type_error, message, 0);
1871+
zend_string_release_ex(message, false);
18741872
va_end(va);
18751873
} /* }}} */
18761874

18771875
ZEND_API ZEND_COLD void zend_argument_count_error(const char *format, ...) /* {{{ */
18781876
{
18791877
va_list va;
1880-
char *message = NULL;
18811878

18821879
va_start(va, format);
1883-
zend_vspprintf(&message, 0, format, va);
1884-
zend_throw_exception(zend_ce_argument_count_error, message, 0);
1885-
efree(message);
1880+
zend_string *message = zend_vstrpprintf(0, format, va);
1881+
zend_throw_exception_zstr(zend_ce_argument_count_error, message, 0);
1882+
zend_string_release_ex(message, false);
18861883

18871884
va_end(va);
18881885
} /* }}} */
18891886

18901887
ZEND_API ZEND_COLD void zend_value_error(const char *format, ...) /* {{{ */
18911888
{
18921889
va_list va;
1893-
char *message = NULL;
18941890

18951891
va_start(va, format);
1896-
zend_vspprintf(&message, 0, format, va);
1897-
zend_throw_exception(zend_ce_value_error, message, 0);
1898-
efree(message);
1892+
zend_string *message = zend_vstrpprintf(0, format, va);
1893+
zend_throw_exception_zstr(zend_ce_value_error, message, 0);
1894+
zend_string_release_ex(message, false);
18991895
va_end(va);
19001896
} /* }}} */
19011897

ext/ffi/ffi.c

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3687,18 +3687,17 @@ void zend_ffi_cleanup_dcl(zend_ffi_dcl *dcl) /* {{{ */
36873687
static void zend_ffi_throw_parser_error(const char *format, ...) /* {{{ */
36883688
{
36893689
va_list va;
3690-
char *message = NULL;
36913690

36923691
va_start(va, format);
3693-
zend_vspprintf(&message, 0, format, va);
3692+
zend_string *message = zend_vstrpprintf(0, format, va);
36943693

36953694
if (EG(current_execute_data)) {
3696-
zend_throw_exception(zend_ffi_parser_exception_ce, message, 0);
3695+
zend_throw_exception_zstr(zend_ffi_parser_exception_ce, message, 0);
36973696
} else {
3698-
zend_error(E_WARNING, "FFI Parser: %s", message);
3697+
zend_error(E_WARNING, "FFI Parser: %s", ZSTR_VAL(message));
36993698
}
37003699

3701-
efree(message);
3700+
zend_string_release_ex(message, false);
37023701
va_end(va);
37033702
}
37043703
/* }}} */
@@ -5790,18 +5789,17 @@ ZEND_GET_MODULE(ffi)
57905789
void zend_ffi_parser_error(const char *format, ...) /* {{{ */
57915790
{
57925791
va_list va;
5793-
char *message = NULL;
57945792

57955793
va_start(va, format);
5796-
zend_vspprintf(&message, 0, format, va);
5794+
zend_string *message = zend_vstrpprintf(0, format, va);
57975795

57985796
if (EG(current_execute_data)) {
5799-
zend_throw_exception(zend_ffi_parser_exception_ce, message, 0);
5797+
zend_throw_exception_zstr(zend_ffi_parser_exception_ce, message, 0);
58005798
} else {
5801-
zend_error(E_WARNING, "FFI Parser: %s", message);
5799+
zend_error(E_WARNING, "FFI Parser: %s", ZSTR_VAL(message));
58025800
}
58035801

5804-
efree(message);
5802+
zend_string_release_ex(message, false);
58055803
va_end(va);
58065804

58075805
LONGJMP(FFI_G(bailout), FAILURE);

ext/reflection/php_reflection.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7379,7 +7379,7 @@ ZEND_METHOD(ReflectionAttribute, newInstance)
73797379
);
73807380
ZEND_ASSERT(delayed_target_validation != NULL);
73817381
#endif
7382-
zend_throw_exception(zend_ce_error, ZSTR_VAL(attr->data->validation_error), 0);
7382+
zend_throw_exception_zstr(zend_ce_error, attr->data->validation_error, 0);
73837383
RETURN_THROWS();
73847384
}
73857385

ext/standard/assert.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ PHP_FUNCTION(assert)
232232
}
233233

234234
if (ASSERTG(exception)) {
235-
zend_throw_exception(assertion_error_ce, description_str ? ZSTR_VAL(description_str) : NULL, E_ERROR);
235+
zend_throw_exception_zstr(assertion_error_ce, description_str, E_ERROR);
236236
if (ASSERTG(bail)) {
237237
/* When bail is turned on, the exception will not be caught. */
238238
zend_exception_error(EG(exception), E_ERROR);

0 commit comments

Comments
 (0)