X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pq_module.c;h=cd992172d9e524bc9c6ccdd15d151fcdf43c806e;hp=cb7a4e9713454c3f4a601af26d844ae0f25c109a;hb=b9f66d2b7378c40f85111ef57e9b0922789f77df;hpb=88440266c0a9fa8354688b5ed0d2a6cc3bf04db5 diff --git a/src/php_pq_module.c b/src/php_pq_module.c index cb7a4e9..cd99217 100644 --- a/src/php_pq_module.c +++ b/src/php_pq_module.c @@ -18,25 +18,14 @@ #include #include -#include - -/* -#include -#include -#include -#include -#include - #include -#include -#include -*/ #include "php_pq.h" #include "php_pq_misc.h" #include "php_pqcancel.h" #include "php_pqconn.h" #include "php_pqcopy.h" +#include "php_pqcur.h" #include "php_pqexc.h" #include "php_pqlob.h" #include "php_pqres.h" @@ -44,14 +33,23 @@ #include "php_pqtxn.h" #include "php_pqtypes.h" +ZEND_DECLARE_MODULE_GLOBALS(php_pq); + +static void php_pq_globals_init_once(zend_php_pq_globals *G) +{ + memset(G, 0, sizeof(*G)); +} + #define PHP_MINIT_CALL(i) do { \ - if (SUCCESS != PHP_MINIT(i)(type, module_number TSRMLS_CC)) { \ + if (SUCCESS != PHP_MINIT(i)(type, module_number)) { \ return FAILURE; \ } \ } while(0) static PHP_MINIT_FUNCTION(pq) { + ZEND_INIT_MODULE_GLOBALS(php_pq, php_pq_globals_init_once, NULL); + PHP_MINIT_CALL(pq_misc); PHP_MINIT_CALL(pqexc); @@ -62,25 +60,25 @@ static PHP_MINIT_FUNCTION(pq) PHP_MINIT_CALL(pqres); PHP_MINIT_CALL(pqstm); PHP_MINIT_CALL(pqtxn); + PHP_MINIT_CALL(pqcur); PHP_MINIT_CALL(pqcopy); PHP_MINIT_CALL(pqlob); - return php_persistent_handle_provide(ZEND_STRL("pq\\Connection"), php_pqconn_get_resource_factory_ops(), NULL, NULL TSRMLS_CC); + return SUCCESS; } #define PHP_MSHUT_CALL(i) do { \ - if (SUCCESS != PHP_MSHUTDOWN(i)(type, module_number TSRMLS_CC)) { \ + if (SUCCESS != PHP_MSHUTDOWN(i)(type, module_number)) { \ return FAILURE; \ } \ } while(0) static PHP_MSHUTDOWN_FUNCTION(pq) { - php_persistent_handle_cleanup(ZEND_STRL("pq\\Connection"), NULL, 0 TSRMLS_CC); - PHP_MSHUT_CALL(pqlob); PHP_MSHUT_CALL(pqcopy); + PHP_MSHUT_CALL(pqcur); PHP_MSHUT_CALL(pqtxn); PHP_MSHUT_CALL(pqstm); PHP_MSHUT_CALL(pqres); @@ -100,26 +98,27 @@ static PHP_MINFO_FUNCTION(pq) php_info_print_table_start(); php_info_print_table_header(2, "PQ Support", "enabled"); - php_info_print_table_row(2, "Extension Version", PHP_PQ_EXT_VERSION); + php_info_print_table_row(2, "Extension Version", PHP_PQ_VERSION); php_info_print_table_end(); php_info_print_table_start(); - php_info_print_table_header(2, "Used Library", "Version"); + php_info_print_table_header(3, "Used Library", "Compiled", "Linked"); #ifdef HAVE_PQLIBVERSION libpq_v = PQlibVersion(); slprintf(libpq_version, sizeof(libpq_version), "%d.%d.%d", libpq_v/10000%100, libpq_v/100%100, libpq_v%100); #endif - php_info_print_table_row(2, "libpq", libpq_version); + php_info_print_table_row(3, "libpq", PHP_PQ_LIBVERSION, libpq_version); php_info_print_table_end(); } -const zend_function_entry pq_functions[] = { +static const zend_function_entry pq_functions[] = { {0} }; static zend_module_dep pq_module_deps[] = { ZEND_MOD_REQUIRED("raphf") ZEND_MOD_REQUIRED("spl") + ZEND_MOD_OPTIONAL("json") ZEND_MOD_END }; @@ -134,7 +133,7 @@ zend_module_entry pq_module_entry = { NULL,/*PHP_RINIT(pq),*/ NULL,/*PHP_RSHUTDOWN(pq),*/ PHP_MINFO(pq), - PHP_PQ_EXT_VERSION, + PHP_PQ_VERSION, STANDARD_MODULE_PROPERTIES };