]> granicus.if.org Git - postgresql/commitdiff
Fix pgpass to work with PQconnectDB().
authorBruce Momjian <bruce@momjian.us>
Wed, 8 Jan 2003 21:33:27 +0000 (21:33 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 8 Jan 2003 21:33:27 +0000 (21:33 +0000)
Backpatch to 7.3.X.

Report from ljb.

src/interfaces/libpq/fe-connect.c

index b5f566eb4f8283c9dac756d37fd32f48260868cc..57108df1ff8854022ed44dee02c73efc27d46e52 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.220 2003/01/08 16:21:53 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.221 2003/01/08 21:33:27 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -314,6 +314,9 @@ PQconnectStart(const char *conninfo)
        conn->pguser = tmp ? strdup(tmp) : NULL;
        tmp = conninfo_getval(connOptions, "password");
        conn->pgpass = tmp ? strdup(tmp) : NULL;
+       if (conn->pgpass == NULL || conn->pgpass[0] == '\0')
+               conn->pgpass = PasswordFromFile(conn->pghost, conn->pgport,
+                                                                        conn->dbName, conn->pguser);
        tmp = conninfo_getval(connOptions, "connect_timeout");
        conn->connect_timeout = tmp ? strdup(tmp) : NULL;
 #ifdef USE_SSL
@@ -511,9 +514,6 @@ PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions,
                conn->pgpass = strdup(pwd);
        else if ((tmp = getenv("PGPASSWORD")) != NULL)
                conn->pgpass = strdup(tmp);
-       else if ((tmp = PasswordFromFile(conn->pghost, conn->pgport,
-                                                                        conn->dbName, conn->pguser)))
-               conn->pgpass = tmp;
        else
                conn->pgpass = strdup(DefaultPassword);