From df80a01b4fe00e07491734795f40a0cad6638a59 Mon Sep 17 00:00:00 2001 From: Adam Harvey Date: Tue, 9 Mar 2010 05:08:31 +0000 Subject: [PATCH] Fixed bug #51242 (Empty mysql.default_port does not default to 3306 anymore, but 0). --- ext/mysql/tests/bug51242.phpt | 38 ++++++++++++++++++++++++++++ ext/mysql/tests/skipifnotmysqlnd.inc | 5 ++++ ext/mysqlnd/mysqlnd.c | 7 ++--- 3 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 ext/mysql/tests/bug51242.phpt create mode 100644 ext/mysql/tests/skipifnotmysqlnd.inc diff --git a/ext/mysql/tests/bug51242.phpt b/ext/mysql/tests/bug51242.phpt new file mode 100644 index 0000000000..9b62cdb4cd --- /dev/null +++ b/ext/mysql/tests/bug51242.phpt @@ -0,0 +1,38 @@ +--TEST-- +Bug #51242 (Empty mysql.default_port does not default to 3306 anymore, but 0) +--INI-- +mysql.default_port= +mysql.default_socket=/this/does/not/really/need/to/exist +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +resource(%d) of type (mysql link) diff --git a/ext/mysql/tests/skipifnotmysqlnd.inc b/ext/mysql/tests/skipifnotmysqlnd.inc new file mode 100644 index 0000000000..9cccdc7bf1 --- /dev/null +++ b/ext/mysql/tests/skipifnotmysqlnd.inc @@ -0,0 +1,5 @@ + diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c index 55d2f2468d..7940cead3a 100644 --- a/ext/mysqlnd/mysqlnd.c +++ b/ext/mysqlnd/mysqlnd.c @@ -527,9 +527,6 @@ MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND *conn, db = ""; db_len = 0; } - if (!port && !socket) { - port = 3306; - } host_len = strlen(host); #ifndef PHP_WIN32 if (host_len == sizeof("localhost") - 1 && !strncasecmp(host, "localhost", host_len)) { @@ -541,6 +538,10 @@ MYSQLND_METHOD(mysqlnd_conn, connect)(MYSQLND *conn, } else #endif { + if (!port) { + port = 3306; + } + transport_len = spprintf(&transport, 0, "tcp://%s:%d", host, port); } DBG_INF_FMT("transport=%s", transport); -- 2.40.0