Skip to content

Commit 928b25c

Browse files
committed
Generate function entries from stubs for mysqli
Closes GH-5420
1 parent 4e1219a commit 928b25c

12 files changed

+811
-638
lines changed

ext/mysqli/config.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ if test "$PHP_MYSQLI" != "no"; then
107107
fi
108108

109109
mysqli_sources="mysqli.c mysqli_api.c mysqli_prop.c mysqli_nonapi.c \
110-
mysqli_fe.c mysqli_report.c mysqli_driver.c mysqli_warning.c \
110+
mysqli_report.c mysqli_driver.c mysqli_warning.c \
111111
mysqli_exception.c mysqli_result_iterator.c"
112112
PHP_NEW_EXTENSION(mysqli, $mysqli_sources, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
113113
PHP_SUBST(MYSQLI_SHARED_LIBADD)

ext/mysqli/config.w32

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ if (PHP_MYSQLI != "no") {
1313
"mysqli_api.c " +
1414
"mysqli_driver.c " +
1515
"mysqli_exception.c " +
16-
"mysqli_fe.c " +
1716
"mysqli_nonapi.c " +
1817
"mysqli_prop.c " +
1918
"mysqli_result_iterator.c " +

ext/mysqli/mysqli.c

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include "zend_exceptions.h"
3333
#include "ext/spl/spl_exceptions.h"
3434
#include "zend_interfaces.h"
35+
#include "mysqli_arginfo.h"
3536

3637
ZEND_DECLARE_MODULE_GLOBALS(mysqli)
3738
static PHP_GINIT_FUNCTION(mysqli);
@@ -572,13 +573,13 @@ PHP_MINIT_FUNCTION(mysqli)
572573
le_pmysqli = zend_register_list_destructors_ex(NULL, php_mysqli_dtor,
573574
"MySqli persistent connection", module_number);
574575

575-
INIT_CLASS_ENTRY(cex, "mysqli_sql_exception", mysqli_exception_methods);
576+
INIT_CLASS_ENTRY(cex, "mysqli_sql_exception", class_mysqli_sql_exception_methods);
576577
mysqli_exception_class_entry = zend_register_internal_class_ex(&cex, spl_ce_RuntimeException);
577578
mysqli_exception_class_entry->ce_flags |= ZEND_ACC_FINAL;
578579
zend_declare_property_long(mysqli_exception_class_entry, "code", sizeof("code")-1, 0, ZEND_ACC_PROTECTED);
579580
zend_declare_property_string(mysqli_exception_class_entry, "sqlstate", sizeof("sqlstate")-1, "00000", ZEND_ACC_PROTECTED);
580581

581-
REGISTER_MYSQLI_CLASS_ENTRY("mysqli_driver", mysqli_driver_class_entry, mysqli_driver_methods);
582+
REGISTER_MYSQLI_CLASS_ENTRY("mysqli_driver", mysqli_driver_class_entry, class_mysqli_driver_methods);
582583
ce = mysqli_driver_class_entry;
583584
zend_hash_init(&mysqli_driver_properties, 0, NULL, free_prop_handler, 1);
584585
MYSQLI_ADD_PROPERTIES(&mysqli_driver_properties, mysqli_driver_property_entries);
@@ -591,7 +592,7 @@ PHP_MINIT_FUNCTION(mysqli)
591592
ce->ce_flags |= ZEND_ACC_FINAL;
592593
zend_hash_add_ptr(&classes, ce->name, &mysqli_driver_properties);
593594

594-
REGISTER_MYSQLI_CLASS_ENTRY("mysqli", mysqli_link_class_entry, mysqli_link_methods);
595+
REGISTER_MYSQLI_CLASS_ENTRY("mysqli", mysqli_link_class_entry, class_mysqli_methods);
595596
ce = mysqli_link_class_entry;
596597
zend_hash_init(&mysqli_link_properties, 0, NULL, free_prop_handler, 1);
597598
MYSQLI_ADD_PROPERTIES(&mysqli_link_properties, mysqli_link_property_entries);
@@ -615,7 +616,7 @@ PHP_MINIT_FUNCTION(mysqli)
615616
zend_declare_property_null(ce, "warning_count", sizeof("warning_count") - 1, ZEND_ACC_PUBLIC);
616617
zend_hash_add_ptr(&classes, ce->name, &mysqli_link_properties);
617618

618-
REGISTER_MYSQLI_CLASS_ENTRY("mysqli_warning", mysqli_warning_class_entry, mysqli_warning_methods);
619+
REGISTER_MYSQLI_CLASS_ENTRY("mysqli_warning", mysqli_warning_class_entry, class_mysqli_warning_methods);
619620
ce = mysqli_warning_class_entry;
620621
ce->ce_flags |= ZEND_ACC_FINAL;
621622
zend_hash_init(&mysqli_warning_properties, 0, NULL, free_prop_handler, 1);
@@ -625,7 +626,7 @@ PHP_MINIT_FUNCTION(mysqli)
625626
zend_declare_property_null(ce, "errno", sizeof("errno") - 1, ZEND_ACC_PUBLIC);
626627
zend_hash_add_ptr(&classes, ce->name, &mysqli_warning_properties);
627628

628-
REGISTER_MYSQLI_CLASS_ENTRY("mysqli_result", mysqli_result_class_entry, mysqli_result_methods);
629+
REGISTER_MYSQLI_CLASS_ENTRY("mysqli_result", mysqli_result_class_entry, class_mysqli_result_methods);
629630
ce = mysqli_result_class_entry;
630631
zend_hash_init(&mysqli_result_properties, 0, NULL, free_prop_handler, 1);
631632
MYSQLI_ADD_PROPERTIES(&mysqli_result_properties, mysqli_result_property_entries);
@@ -638,7 +639,7 @@ PHP_MINIT_FUNCTION(mysqli)
638639
zend_class_implements(mysqli_result_class_entry, 1, zend_ce_traversable);
639640
zend_hash_add_ptr(&classes, ce->name, &mysqli_result_properties);
640641

641-
REGISTER_MYSQLI_CLASS_ENTRY("mysqli_stmt", mysqli_stmt_class_entry, mysqli_stmt_methods);
642+
REGISTER_MYSQLI_CLASS_ENTRY("mysqli_stmt", mysqli_stmt_class_entry, class_mysqli_stmt_methods);
642643
ce = mysqli_stmt_class_entry;
643644
zend_hash_init(&mysqli_stmt_properties, 0, NULL, free_prop_handler, 1);
644645
MYSQLI_ADD_PROPERTIES(&mysqli_stmt_properties, mysqli_stmt_property_entries);
@@ -975,7 +976,7 @@ zend_module_entry mysqli_module_entry = {
975976
STANDARD_MODULE_HEADER_EX, NULL,
976977
mysqli_deps,
977978
"mysqli",
978-
mysqli_functions,
979+
ext_functions,
979980
PHP_MINIT(mysqli),
980981
PHP_MSHUTDOWN(mysqli),
981982
PHP_RINIT(mysqli),

0 commit comments

Comments
 (0)