--- ../php4-orig/ext/mysql/php_mysql.c	Wed Feb 27 18:51:10 2002
+++ ext/mysql/php_mysql.c	Wed Feb 27 20:11:23 2002
@@ -342,6 +342,14 @@
 	REGISTER_LONG_CONSTANT("MYSQL_BOTH", MYSQL_BOTH, CONST_CS | CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("MYSQL_USE_RESULT", MYSQL_USE_RESULT, CONST_CS | CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("MYSQL_STORE_RESULT", MYSQL_STORE_RESULT, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("MYSQL_CLIENT_SSL", CLIENT_SSL, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("MYSQL_CLIENT_COMPRESS", CLIENT_COMPRESS, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("MYSQL_CLIENT_FOUND_ROWS", CLIENT_FOUND_ROWS, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("MYSQL_CLIENT_NO_SCHEMA", CLIENT_NO_SCHEMA, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("MYSQL_CLIENT_INTERACTIVE ", CLIENT_INTERACTIVE, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("MYSQL_CLIENT_ODBC", CLIENT_ODBC, CONST_CS | CONST_PERSISTENT);
+	REGISTER_LONG_CONSTANT("MYSQL_CLIENT_IGNORE_SPACE", CLIENT_IGNORE_SPACE,CONST_CS | CONST_PERSISTENT);
+
 
 #ifdef ZTS
 # if MYSQL_VERSION_ID >= 40000
@@ -434,11 +442,13 @@
 	char *user=NULL, *passwd=NULL, *host_and_port=NULL, *socket=NULL, *tmp=NULL, *host=NULL;
 	char *hashed_details=NULL;
 	int hashed_details_length, port = MYSQL_PORT;
+	int client_flags = 0;
 	php_mysql_conn *mysql=NULL;
 	void (*handler) (int);
-	zval **z_host=NULL, **z_user=NULL, **z_passwd=NULL, **z_new_link=NULL;
+	zval **z_host=NULL, **z_user=NULL, **z_passwd=NULL, **z_new_link=NULL, **z_client_flags=NULL;
 	zend_bool free_host=0, new_link=0;
 
+
 	socket = MySG(default_socket);
 
 	if (PG(sql_safe_mode)) {
@@ -493,6 +503,19 @@
 					new_link = Z_BVAL_PP(z_new_link);
 				}
 				break;
+			case 5: {
+					if (zend_get_parameters_ex(5, &z_host, &z_user, &z_passwd, &z_new_link, &z_client_flags) == FAILURE) {
+                                                MYSQL_DO_CONNECT_RETURN_FALSE();
+                                        }
+                                        convert_to_string_ex(z_user);
+                                        convert_to_string_ex(z_passwd);
+                                        convert_to_long_ex(z_client_flags);
+					user = Z_STRVAL_PP(z_user);
+                                        passwd = Z_STRVAL_PP(z_passwd);
+                                        new_link = Z_BVAL_PP(z_new_link);
+               				client_flags = Z_LVAL_PP(z_client_flags);
+				}
+				break;
 			default:
 				WRONG_PARAM_COUNT;
 				break;
@@ -566,7 +589,7 @@
 			mysql->active_result_id = 0;
 #if MYSQL_VERSION_ID > 32199 /* this lets us set the port number */
 			mysql_init(&mysql->conn);
-			if (mysql_real_connect(&mysql->conn, host, user, passwd, NULL, port, socket, 0)==NULL) {
+			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) {
 #endif
@@ -606,7 +629,7 @@
 #endif
 				signal(SIGPIPE, handler);
 #if MYSQL_VERSION_ID > 32199 /* this lets us set the port number */
-				if (mysql_real_connect(le->ptr, host, user, passwd, NULL, port, socket, 0)==NULL) {
+				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) {
 #endif
@@ -659,7 +682,7 @@
 		mysql->active_result_id = 0;
 #if MYSQL_VERSION_ID > 32199 /* this lets us set the port number */
 		mysql_init(&mysql->conn);
-		if (mysql_real_connect(&mysql->conn, host, user, passwd, NULL, port, socket, 0)==NULL) {
+		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) {
 #endif
