Fix PQsetdbLogin() backward compatibility problem.

If pghost == "" and pgport == "" then PQsetdbLogin() fails with a
error message:

 Is the postmaster running locally
        and accepting connections on Unix socket '/tmp/.s.PGSQL.0'?

I see many applications such as PHP fails due to this behavior.
Now if pgport == "", then it is assumed to be a DEF_PGPORT_STR. This
is the same behavior as the version prior 7.1.
This commit is contained in:
Tatsuo Ishii 2000-12-22 07:59:32 +00:00
parent 317215fc55
commit 1deb6e7d41
1 changed files with 2 additions and 2 deletions

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.155 2000/12/18 17:33:41 tgl Exp $
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.156 2000/12/22 07:59:32 ishii Exp $
*
*-------------------------------------------------------------------------
*/
@ -438,7 +438,7 @@ PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions,
else if ((tmp = getenv("PGHOST")) != NULL)
conn->pghost = strdup(tmp);
if (pgport == NULL)
if (pgport == NULL || pgport[0] == '\0')
{
if ((tmp = getenv("PGPORT")) == NULL)
tmp = DEF_PGPORT_STR;