]> granicus.if.org Git - php/commitdiff
Fixed bug #43493 (pdo_pgsql does not send username on connect when password
authorIlia Alshanetsky <iliaa@php.net>
Tue, 4 Dec 2007 13:03:26 +0000 (13:03 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Tue, 4 Dec 2007 13:03:26 +0000 (13:03 +0000)
is not available)

ext/pdo_pgsql/pgsql_driver.c

index 688399c1269609ef0cb55afe4a839aaf994a6de5..eeb2d9f5dae8883538fd8462af17afdc4e9a7550 100644 (file)
@@ -692,14 +692,14 @@ static int pdo_pgsql_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_
        }
 
        /* support both full connection string & connection string + login and/or password */
-       if (!dbh->username || !dbh->password) {
-               spprintf(&conn_str, 0, "%s connect_timeout=%ld", (char *) dbh->data_source, connect_timeout);
-       } else if (dbh->username && dbh->password) {
+       if (dbh->username && dbh->password) {
                spprintf(&conn_str, 0, "%s user=%s password=%s connect_timeout=%ld", dbh->data_source, dbh->username, dbh->password, connect_timeout);
        } else if (dbh->username) {
                spprintf(&conn_str, 0, "%s user=%s connect_timeout=%ld", dbh->data_source, dbh->username, connect_timeout);
-       } else {
+       } else if (dbh->password) {
                spprintf(&conn_str, 0, "%s password=%s connect_timeout=%ld", dbh->data_source, dbh->password, connect_timeout);
+       } else {
+               spprintf(&conn_str, 0, "%s connect_timeout=%ld", (char *) dbh->data_source, connect_timeout);
        }
 
        H->server = PQconnectdb(conn_str);