Author: glen                         Date: Tue Oct  7 22:45:21 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- mysql default charset support from gentoo 
(distfiles/php-patchset-5.2.6-r8.tar.bz2)

---- Files affected:
SOURCES:
   php-pdo_mysql-charsetphpini.patch (NONE -> 1.1)  (NEW), 
php-mysqli-charsetphpini.patch (NONE -> 1.1)  (NEW), 
php-mysql-charsetphpini.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/php-pdo_mysql-charsetphpini.patch
diff -u /dev/null SOURCES/php-pdo_mysql-charsetphpini.patch:1.1
--- /dev/null   Wed Oct  8 00:45:22 2008
+++ SOURCES/php-pdo_mysql-charsetphpini.patch   Wed Oct  8 00:45:15 2008
@@ -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 */
+ 
+ 

================================================================
Index: SOURCES/php-mysqli-charsetphpini.patch
diff -u /dev/null SOURCES/php-mysqli-charsetphpini.patch:1.1
--- /dev/null   Wed Oct  8 00:45:22 2008
+++ SOURCES/php-mysqli-charsetphpini.patch      Wed Oct  8 00:45:16 2008
@@ -0,0 +1,76 @@
+--- ext/mysqli/mysqli_api.c    2006-12-01 16:30:36.000000000 +0100
++++ ext/mysqli/mysqli_api.c    2006-12-01 16:39:32.000000000 +0100
+@@ -1395,7 +1395,7 @@
+ PHP_FUNCTION(mysqli_real_connect)
+ {
+       MY_MYSQL                *mysql;
+-      char                    *hostname = NULL, *username=NULL, *passwd=NULL, 
*dbname=NULL, *socket=NULL;
++      char                    *hostname = NULL, *username=NULL, *passwd=NULL, 
*dbname=NULL, *socket=NULL, *connect_charset=NULL;
+       unsigned int    hostname_len = 0, username_len = 0, passwd_len = 0, 
dbname_len = 0, socket_len = 0;
+       unsigned long   port=0, flags=0;
+       zval                    *mysql_link;
+@@ -1436,6 +1436,12 @@
+               socket = MyG(default_socket);
+       }
+ 
++      connect_charset = MyG(connect_charset);
++
++      if (connect_charset != NULL) {
++              mysql_options(mysql->mysql, MYSQL_SET_CHARSET_NAME, 
connect_charset);
++      }
++
+       if 
(mysql_real_connect(mysql->mysql,hostname,username,passwd,dbname,port,socket,flags)
 == NULL) {
+               php_mysqli_set_error(mysql_errno(mysql->mysql), (char *) 
mysql_error(mysql->mysql) TSRMLS_CC);
+               php_mysqli_throw_sql_exception( mysql->mysql->net.sqlstate, 
mysql->mysql->net.last_errno TSRMLS_CC,
+--- ext/mysqli/mysqli.c        2006-12-01 16:30:36.000000000 +0100
++++ ext/mysqli/mysqli.c        2006-12-01 16:38:01.000000000 +0100
+@@ -459,6 +459,7 @@
+       STD_PHP_INI_ENTRY("mysqli.default_pw",                          NULL,   
PHP_INI_ALL,            OnUpdateString,         default_pw,                     
zend_mysqli_globals,            mysqli_globals)
+       STD_PHP_INI_ENTRY("mysqli.default_port",                        "3306", 
PHP_INI_ALL,            OnUpdateLong,           default_port,           
zend_mysqli_globals,            mysqli_globals)
+       STD_PHP_INI_ENTRY("mysqli.default_socket",                      NULL,   
PHP_INI_ALL,            OnUpdateStringUnempty,  default_socket, 
zend_mysqli_globals,            mysqli_globals)
++      STD_PHP_INI_ENTRY("mysqli.connect_charset",                     NULL,   
PHP_INI_ALL,            OnUpdateString,         connect_charset,        
zend_mysqli_globals,            mysqli_globals)
+       STD_PHP_INI_BOOLEAN("mysqli.reconnect",                         "0",    
PHP_INI_SYSTEM,         OnUpdateLong,           reconnect,                      
zend_mysqli_globals,            mysqli_globals)
+ PHP_INI_END()
+ 
+@@ -475,6 +476,7 @@
+       mysqli_globals->default_user = NULL;
+       mysqli_globals->default_pw = NULL;
+       mysqli_globals->default_socket = NULL;
++      mysqli_globals->connect_charset = NULL;
+       mysqli_globals->reconnect = 0;
+       mysqli_globals->report_mode = 0;
+       mysqli_globals->report_ht = 0;
+--- ext/mysqli/mysqli_nonapi.c 2006-12-01 16:30:36.000000000 +0100
++++ ext/mysqli/mysqli_nonapi.c 2006-12-01 16:40:29.000000000 +0100
+@@ -36,7 +36,7 @@
+       MY_MYSQL                        *mysql;
+       MYSQLI_RESOURCE         *mysqli_resource;
+       zval                            *object = getThis();
+-      char                            *hostname = NULL, *username=NULL, 
*passwd=NULL, *dbname=NULL, *socket=NULL;
++      char                            *hostname = NULL, *username=NULL, 
*passwd=NULL, *dbname=NULL, *socket=NULL, *connect_charset=NULL;
+       unsigned int            hostname_len = 0, username_len = 0, passwd_len 
= 0, dbname_len = 0, socket_len = 0;
+       long                            port=0;
+ 
+@@ -88,6 +88,12 @@
+               socket = MyG(default_socket);
+       }
+ 
++      connect_charset = MyG(connect_charset);
++
++      if (connect_charset != NULL) {
++              mysql_options(mysql->mysql, MYSQL_SET_CHARSET_NAME, 
connect_charset);
++      }
++
+       if 
(mysql_real_connect(mysql->mysql,hostname,username,passwd,dbname,port,socket,CLIENT_MULTI_RESULTS)
 == NULL) {
+               /* Save error messages */
+ 
+--- ext/mysqli/php_mysqli.h    2006-12-01 16:30:36.000000000 +0100
++++ ext/mysqli/php_mysqli.h    2006-12-01 16:36:23.000000000 +0100
+@@ -433,6 +433,7 @@
+       char                    *default_user;
+       char                    *default_socket;
+       char            *default_pw;
++      char                    *connect_charset;
+       int                             reconnect;
+       int                             strict;
+       long                    error_no;

================================================================
Index: SOURCES/php-mysql-charsetphpini.patch
diff -u /dev/null SOURCES/php-mysql-charsetphpini.patch:1.1
--- /dev/null   Wed Oct  8 00:45:23 2008
+++ SOURCES/php-mysql-charsetphpini.patch       Wed Oct  8 00:45:16 2008
@@ -0,0 +1,76 @@
+diff -aur php-5.2.5_p20080206.orig/ext/mysql/php_mysql.c 
php-5.2.5_p20080206/ext/mysql/php_mysql.c
+--- php-5.2.5_p20080206.orig/ext/mysql/php_mysql.c     2008-02-06 
14:22:57.652600900 +0100
++++ php-5.2.5_p20080206/ext/mysql/php_mysql.c  2008-02-06 14:24:40.216655403 
+0100
+@@ -360,6 +360,7 @@
+       PHP_INI_ENTRY("mysql.default_port",                             NULL,   
PHP_INI_ALL,            OnMySQLPort)
+       STD_PHP_INI_ENTRY("mysql.default_socket",               NULL,   
PHP_INI_ALL,            OnUpdateStringUnempty,  default_socket, 
zend_mysql_globals,             mysql_globals)
+       STD_PHP_INI_ENTRY("mysql.connect_timeout",              "60",   
PHP_INI_ALL,            OnUpdateLong,           connect_timeout,        
zend_mysql_globals,             mysql_globals)
++      STD_PHP_INI_ENTRY("mysql.connect_charset",              NULL,   
PHP_INI_ALL,            OnUpdateString,         connect_charset,        
zend_mysql_globals,             mysql_globals)
+       STD_PHP_INI_BOOLEAN("mysql.trace_mode",                 "0",    
PHP_INI_ALL,            OnUpdateLong,           trace_mode,             
zend_mysql_globals,             mysql_globals)
+ PHP_INI_END()
+ /* }}} */
+@@ -376,6 +377,7 @@
+       mysql_globals->connect_errno = 0;
+       mysql_globals->connect_error = NULL;
+       mysql_globals->connect_timeout = 0;
++      mysql_globals->connect_charset = NULL;
+       mysql_globals->trace_mode = 0;
+       mysql_globals->result_allocated = 0;
+ }
+@@ -515,6 +517,7 @@
+ {
+       char *user=NULL, *passwd=NULL, *host_and_port=NULL, *socket=NULL, 
*tmp=NULL, *host=NULL;
+       int  user_len, passwd_len, host_len;
++      char *connect_charset=NULL;
+       char *hashed_details=NULL;
+       int hashed_details_length, port = MYSQL_PORT;
+       int client_flags = 0;
+@@ -527,6 +530,7 @@
+ 
+ 
+       connect_timeout = MySG(connect_timeout);
++      connect_charset = MySG(connect_charset);
+ 
+       socket = MySG(default_socket);
+ 
+@@ -640,6 +644,9 @@
+                               mysql_options(&mysql->conn, 
MYSQL_OPT_CONNECT_TIMEOUT, (const char *)&connect_timeout);
+                       }
+ 
++                      if (connect_charset != NULL)
++                              mysql_options(&mysql->conn, 
MYSQL_SET_CHARSET_NAME, connect_charset);
++
+                       if (mysql_real_connect(&mysql->conn, host, user, 
passwd, NULL, port, socket, client_flags)==NULL) {
+ #else
+                       if (mysql_connect(&mysql->conn, host, user, 
passwd)==NULL) {
+@@ -684,6 +691,9 @@
+                               signal(SIGPIPE, handler);
+ #endif /* end mysql_ping */
+ #if MYSQL_VERSION_ID > 32199 /* this lets us set the port number */
++                              if (connect_charset != NULL)
++                                      mysql_options(le->ptr, 
MYSQL_SET_CHARSET_NAME, connect_charset);
++
+                               if (mysql_real_connect(le->ptr, host, user, 
passwd, NULL, port, socket, client_flags)==NULL) {
+ #else
+                               if (mysql_connect(le->ptr, host, user, 
passwd)==NULL) {
+@@ -747,6 +757,9 @@
+                       mysql_options(&mysql->conn, MYSQL_OPT_CONNECT_TIMEOUT, 
(const char *)&connect_timeout);
+               }
+ 
++              if (connect_charset != NULL)
++                      mysql_options(&mysql->conn, MYSQL_SET_CHARSET_NAME, 
connect_charset);
++
+               if (mysql_real_connect(&mysql->conn, host, user, passwd, NULL, 
port, socket, client_flags)==NULL) {
+ #else
+               if (mysql_connect(&mysql->conn, host, user, passwd)==NULL) {
+diff -aur php-5.2.5_p20080206.orig/ext/mysql/php_mysql_structs.h 
php-5.2.5_p20080206/ext/mysql/php_mysql_structs.h
+--- php-5.2.5_p20080206.orig/ext/mysql/php_mysql_structs.h     2008-02-06 
14:22:57.510605687 +0100
++++ php-5.2.5_p20080206/ext/mysql/php_mysql_structs.h  2008-02-06 
14:23:27.764590355 +0100
+@@ -103,6 +103,7 @@
+       long default_port;
+       char *default_host, *default_user, *default_password;
+       char *default_socket;
++      char *connect_charset;
+       char *connect_error;
+       long connect_errno;
+       long connect_timeout;
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to