diff options
Diffstat (limited to 'ext/mysql')
-rw-r--r-- | ext/mysql/mysql.dsp | 29 | ||||
-rw-r--r-- | ext/mysql/php_mysql.c | 45 | ||||
-rw-r--r-- | ext/mysql/php_mysql.h | 10 |
3 files changed, 21 insertions, 63 deletions
diff --git a/ext/mysql/mysql.dsp b/ext/mysql/mysql.dsp index 20f69629f4..0d3ea0114e 100644 --- a/ext/mysql/mysql.dsp +++ b/ext/mysql/mysql.dsp @@ -21,7 +21,6 @@ CFG=mysql - Win32 Debug_TS !MESSAGE "mysql - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "mysql - Win32 Debug_TS" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "mysql - Win32 Release_TS" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "mysql - Win32 Release_TS_inline" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
@@ -136,33 +135,6 @@ LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libmySQL.lib php4ts.lib /nologo /dll /machine:I386 /out:"Release_TS/php_mysql.dll" /libpath:"..\..\..\MySQL\lib\opt" /libpath:"..\..\Release_TS"
-!ELSEIF "$(CFG)" == "mysql - Win32 Release_TS_inline"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "mysql___Win32_Release_TS_inline"
-# PROP BASE Intermediate_Dir "mysql___Win32_Release_TS_inline"
-# PROP BASE Ignore_Export_Lib 0
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release_TS_inline"
-# PROP Intermediate_Dir "Release_TS_inline"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\..\MySQL\include" /I "..\..\TSRM" /D "NDEBUG" /D "ZTS" /D "MYSQL_EXPORTS" /D "COMPILE_DL_MYSQL" /D HAVE_MYSQL=1 /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZEND_WIN32" /D "PHP_WIN32" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\..\MySQL\include" /I "..\..\TSRM" /D "NDEBUG" /D "ZTS" /D "MYSQL_EXPORTS" /D "COMPILE_DL_MYSQL" /D HAVE_MYSQL=1 /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZEND_WIN32" /D "PHP_WIN32" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x40d /d "NDEBUG"
-# ADD RSC /l 0x40d /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libmySQL.lib php4ts.lib /nologo /dll /machine:I386 /out:"Release_TS/php_mysql.dll" /libpath:"..\..\..\MySQL\lib\opt" /libpath:"..\..\Release_TS"
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libmySQL.lib php4ts.lib /nologo /dll /machine:I386 /out:"Release_TS_inline/php_mysql.dll" /libpath:"..\..\..\MySQL\lib\opt" /libpath:"..\..\Release_TS_inline"
-
!ENDIF
# Begin Target
@@ -171,7 +143,6 @@ LINK32=link.exe # Name "mysql - Win32 Debug"
# Name "mysql - Win32 Debug_TS"
# Name "mysql - Win32 Release_TS"
-# Name "mysql - Win32 Release_TS_inline"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c index a6844a7c3c..471db3f26f 100644 --- a/ext/mysql/php_mysql.c +++ b/ext/mysql/php_mysql.c @@ -52,7 +52,6 @@ static int le_result,le_link,le_plink; #include "php_ini.h" -#if HAVE_MYSQL # if HAVE_MYSQL_MYSQL_H # include <mysql/mysql.h> # else @@ -62,7 +61,6 @@ static int le_result,le_link,le_plink; #ifdef HAVE_ERRMSG_H #include <errmsg.h> #endif -#endif #define SAFE_STRING(s) ((s)?(s):"") @@ -150,26 +148,23 @@ zend_module_entry mysql_module_entry = { PHP_MINFO(mysql), STANDARD_MODULE_PROPERTIES }; -#ifdef ZTS -int mysql_globals_id; -#else -PHP_MYSQL_API php_mysql_globals mysql_globals; -#endif + +ZEND_DECLARE_MODULE_GLOBALS(mysql) #ifdef COMPILE_DL_MYSQL -# include "dl/phpdl.h" -DLEXPORT zend_module_entry *get_module(void) { return &mysql_module_entry; } +ZEND_DLEXPORT zend_module_entry *get_module(void) { return &mysql_module_entry; } #endif void timeout(int sig); #define CHECK_LINK(link) { if (link==-1) { php_error(E_WARNING,"MySQL: A link to the server could not be established"); RETURN_FALSE; } } -/* NOTE Don't ask me why, but soon as I made this the list - * destructor, I stoped getting access violations in windows - * with mysql 3.22.7a +/* + * This wrapper is required since mysql_free_result() returns an integer, and + * thus, cannot be used directly */ -static void _free_mysql_result(MYSQL_RES *mysql_result){ +static void _free_mysql_result(MYSQL_RES *mysql_result) +{ mysql_free_result(mysql_result); } @@ -240,31 +235,25 @@ static PHP_INI_MH(OnMySQLPort) PHP_INI_BEGIN() - STD_PHP_INI_BOOLEAN("mysql.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateInt, allow_persistent, php_mysql_globals, mysql_globals) - STD_PHP_INI_ENTRY_EX("mysql.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_persistent, php_mysql_globals, mysql_globals, display_link_numbers) - STD_PHP_INI_ENTRY_EX("mysql.max_links", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_links, php_mysql_globals, mysql_globals, display_link_numbers) - STD_PHP_INI_ENTRY("mysql.default_host", NULL, PHP_INI_ALL, OnUpdateString, default_host, php_mysql_globals, mysql_globals) - STD_PHP_INI_ENTRY("mysql.default_user", NULL, PHP_INI_ALL, OnUpdateString, default_user, php_mysql_globals, mysql_globals) - STD_PHP_INI_ENTRY("mysql.default_password", NULL, PHP_INI_ALL, OnUpdateString, default_password, php_mysql_globals, mysql_globals) + STD_PHP_INI_BOOLEAN("mysql.allow_persistent", "1", PHP_INI_SYSTEM, OnUpdateInt, allow_persistent, zend_mysql_globals, mysql_globals) + STD_PHP_INI_ENTRY_EX("mysql.max_persistent", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_persistent, zend_mysql_globals, mysql_globals, display_link_numbers) + STD_PHP_INI_ENTRY_EX("mysql.max_links", "-1", PHP_INI_SYSTEM, OnUpdateInt, max_links, zend_mysql_globals, mysql_globals, display_link_numbers) + STD_PHP_INI_ENTRY("mysql.default_host", NULL, PHP_INI_ALL, OnUpdateString, default_host, zend_mysql_globals, mysql_globals) + STD_PHP_INI_ENTRY("mysql.default_user", NULL, PHP_INI_ALL, OnUpdateString, default_user, zend_mysql_globals, mysql_globals) + STD_PHP_INI_ENTRY("mysql.default_password", NULL, PHP_INI_ALL, OnUpdateString, default_password, zend_mysql_globals, mysql_globals) PHP_INI_ENTRY("mysql.default_port", NULL, PHP_INI_ALL, OnMySQLPort) PHP_INI_END() -#ifdef ZTS -static void php_mysql_init_globals(php_mysql_globals *mysql_globals) +static void php_mysql_init_globals(zend_mysql_globals *mysql_globals) { - MySG(num_persistent) = 0; + mysql_globals->num_persistent = 0; } -#endif PHP_MINIT_FUNCTION(mysql) { -#ifdef ZTS - mysql_globals_id = ts_allocate_id(sizeof(php_mysql_globals), (ts_allocate_ctor) php_mysql_init_globals, NULL); -#else - MySG(num_persistent)=0; -#endif + ZEND_INIT_MODULE_GLOBALS(mysql, php_mysql_init_globals, NULL); REGISTER_INI_ENTRIES(); le_result = register_list_destructors(_free_mysql_result,NULL); diff --git a/ext/mysql/php_mysql.h b/ext/mysql/php_mysql.h index 46d4568983..50c79a49bf 100644 --- a/ext/mysql/php_mysql.h +++ b/ext/mysql/php_mysql.h @@ -80,23 +80,22 @@ PHP_FUNCTION(mysql_field_len); PHP_FUNCTION(mysql_field_type); PHP_FUNCTION(mysql_field_flags); -typedef struct { +ZEND_BEGIN_MODULE_GLOBALS(mysql) long default_link; long num_links,num_persistent; long max_links,max_persistent; long allow_persistent; long default_port; char *default_host, *default_user, *default_password; -} php_mysql_globals; - +ZEND_END_MODULE_GLOBALS(mysql); #ifdef ZTS -# define MySLS_D php_mysql_globals *mysql_globals +# define MySLS_D zend_mysql_globals *mysql_globals # define MySLS_DC , MySLS_D # define MySLS_C mysql_globals # define MySLS_CC , MySLS_C # define MySG(v) (mysql_globals->v) -# define MySLS_FETCH() php_mysql_globals *mysql_globals = ts_resource(mysql_globals_id) +# define MySLS_FETCH() zend_mysql_globals *mysql_globals = ts_resource(mysql_module_entry.globals_id) #else # define MySLS_D # define MySLS_DC @@ -104,7 +103,6 @@ typedef struct { # define MySLS_CC # define MySG(v) (mysql_globals.v) # define MySLS_FETCH() -extern PHP_MYSQL_API php_mysql_globals mysql_globals; #endif |