packages: php/php-pdo_mysql-charsetphpini.patch - restore

glen glen at pld-linux.org
Sat Feb 20 00:19:01 CET 2010


Author: glen                         Date: Fri Feb 19 23:19:01 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- restore

---- Files affected:
packages/php:
   php-pdo_mysql-charsetphpini.patch (1.2 -> 1.3) 

---- Diffs:

================================================================
Index: packages/php/php-pdo_mysql-charsetphpini.patch
diff -u /dev/null packages/php/php-pdo_mysql-charsetphpini.patch:1.3
--- /dev/null	Sat Feb 20 00:19:01 2010
+++ packages/php/php-pdo_mysql-charsetphpini.patch	Sat Feb 20 00:18:56 2010
@@ -0,0 +1,111 @@
+--- ext/pdo_mysql/mysql_driver.c	2006-12-02 17:26:53.000000000 +0100
++++ ext/pdo_mysql/mysql_driver.c	2006-12-02 17:27:12.000000000 +0100
+@@ -436,6 +436,7 @@
+ 	pdo_mysql_db_handle *H;
+ 	int i, ret = 0;
+ 	char *host = NULL, *unix_socket = NULL;
++	char *connect_charset = NULL;
+ 	unsigned int port = 3306;
+ 	char *dbname;
+ 	struct pdo_data_src_parser vars[] = {
+@@ -546,6 +547,13 @@
+ 	if (vars[2].optval && !strcmp("localhost", vars[2].optval)) {
+ 		unix_socket = vars[4].optval;  
+ 	}
++
++	connect_charset = PDOMYSQLG(connect_charset);
++
++	if (connect_charset != NULL) {
++		mysql_options(H->server, MYSQL_SET_CHARSET_NAME, connect_charset);
++	}
++
+ 	if (mysql_real_connect(H->server, host, dbh->username, dbh->password, dbname, port, unix_socket, connect_opts) == NULL) {
+ 		pdo_mysql_error(dbh);
+ 		goto cleanup;
+--- ext/pdo_mysql/pdo_mysql.c	2006-12-02 17:26:53.000000000 +0100
++++ ext/pdo_mysql/pdo_mysql.c	2006-12-02 17:27:12.000000000 +0100
+@@ -30,6 +30,9 @@
+ #include "php_pdo_mysql.h"
+ #include "php_pdo_mysql_int.h"
+ 
++ZEND_DECLARE_MODULE_GLOBALS(pdo_mysql)
++static PHP_GINIT_FUNCTION(pdo_mysql);
++
+ /* {{{ pdo_mysql_functions[] */
+ zend_function_entry pdo_mysql_functions[] = {
+ 	{NULL, NULL, NULL}
+@@ -61,7 +64,11 @@
+ 	NULL,
+ 	PHP_MINFO(pdo_mysql),
+ 	"1.0.2",
+-	STANDARD_MODULE_PROPERTIES
++	PHP_MODULE_GLOBALS(pdo_mysql),
++	PHP_GINIT(pdo_mysql),
++	NULL,
++	NULL,
++	STANDARD_MODULE_PROPERTIES_EX
+ };
+ /* }}} */
+ 
+@@ -69,12 +76,23 @@
+ ZEND_GET_MODULE(pdo_mysql)
+ #endif
+ 
++PHP_INI_BEGIN()
++	STD_PHP_INI_ENTRY("pdo_mysql.connect_charset",	NULL,	PHP_INI_ALL,	OnUpdateString,	connect_charset,	zend_pdo_mysql_globals,	pdo_mysql_globals)
++PHP_INI_END()
++
++static PHP_GINIT_FUNCTION(pdo_mysql)
++{
++	pdo_mysql_globals->connect_charset = NULL;
++}
++
+ /* true global environment */
+ 
+ /* {{{ PHP_MINIT_FUNCTION
+  */
+ PHP_MINIT_FUNCTION(pdo_mysql)
+ {
++	REGISTER_INI_ENTRIES();
++
+ 	REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_USE_BUFFERED_QUERY", (long)PDO_MYSQL_ATTR_USE_BUFFERED_QUERY);
+ 	REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_LOCAL_INFILE", (long)PDO_MYSQL_ATTR_LOCAL_INFILE);
+ 	REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_INIT_COMMAND", (long)PDO_MYSQL_ATTR_INIT_COMMAND);
+@@ -91,6 +109,7 @@
+  */
+ PHP_MSHUTDOWN_FUNCTION(pdo_mysql)
+ {
++	UNREGISTER_INI_ENTRIES();
+ 	php_pdo_unregister_driver(&pdo_mysql_driver);
+ 	return SUCCESS;
+ }
+@@ -103,6 +122,8 @@
+ 	php_info_print_table_start();
+ 	php_info_print_table_header(2, "PDO Driver for MySQL, client library version", mysql_get_client_info());
+ 	php_info_print_table_end();
++
++	DISPLAY_INI_ENTRIES();
+ }
+ /* }}} */
+ 
+--- ext/pdo_mysql/php_pdo_mysql.h	2006-12-02 17:26:53.000000000 +0100
++++ ext/pdo_mysql/php_pdo_mysql.h	2006-12-02 17:28:49.000000000 +0100
+@@ -40,6 +40,18 @@
+ PHP_RSHUTDOWN_FUNCTION(pdo_mysql);
+ PHP_MINFO_FUNCTION(pdo_mysql);
+ 
++ZEND_BEGIN_MODULE_GLOBALS(pdo_mysql)
++	char	*connect_charset;
++ZEND_END_MODULE_GLOBALS(pdo_mysql)
++
++#ifdef ZTS
++# define PDOMYSQLG(v) TSRMG(pdo_mysql_globals_id, zend_pdo_mysql_globals *, v)
++#else
++# define PDOMYSQLG(v) (pdo_mysql_globals.v)
++#endif
++
++ZEND_EXTERN_MODULE_GLOBALS(pdo_mysql)
++
+ #endif	/* PHP_PDO_MYSQL_H */
+ 
+ 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/php/php-pdo_mysql-charsetphpini.patch?r1=1.2&r2=1.3&f=u



More information about the pld-cvs-commit mailing list