|
7 | 7 | *
|
8 | 8 | *
|
9 | 9 | * IDENTIFICATION
|
10 |
| - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.2 1996/07/12 04:53:57 scrappy Exp $ |
| 10 | + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.3 1996/07/19 07:00:56 scrappy Exp $ |
11 | 11 | *
|
12 | 12 | *-------------------------------------------------------------------------
|
13 | 13 | */
|
@@ -114,20 +114,23 @@ PQsetdb(char *pghost, char* pgport, char* pgoptions, char* pgtty, char* dbName)
|
114 | 114 | } else
|
115 | 115 | conn->pgoptions = strdup(pgoptions);
|
116 | 116 |
|
117 |
| - if (!dbName || dbName[0] == '\0') { |
118 |
| - char errorMessage[ERROR_MSG_LENGTH]; |
119 |
| - if (!(tmp = getenv("PGDATABASE")) && |
120 |
| - !(tmp = fe_getauthname(errorMessage))) { |
121 |
| - sprintf(conn->errorMessage, |
122 |
| - "FATAL: PQsetdb: Unable to determine a database name!\n"); |
123 |
| -/* pqdebug("%s", conn->errorMessage); */ |
124 |
| - conn->dbName = NULL; |
125 |
| - return conn; |
126 |
| - } |
| 117 | + if (((tmp = dbName) && (dbName[0] != '\0')) || |
| 118 | + ((tmp = getenv("PGDATABASE")))) |
127 | 119 | conn->dbName = strdup(tmp);
|
128 |
| - } else |
129 |
| - conn->dbName = strdup(dbName); |
130 |
| - |
| 120 | + else { |
| 121 | + char errorMessage[ERROR_MSG_LENGTH]; |
| 122 | + if (tmp = fe_getauthname(errorMessage)) { |
| 123 | + conn->dbName = strdup(tmp); |
| 124 | + free(tmp); |
| 125 | + } |
| 126 | + else { |
| 127 | + sprintf(conn->errorMessage, |
| 128 | + "FATAL: PQsetdb: Unable to determine a database name!\n"); |
| 129 | +/* pqdebug("%s", conn->errorMessage); */ |
| 130 | + conn->dbName = NULL; |
| 131 | + return conn; |
| 132 | + } |
| 133 | + } |
131 | 134 | conn->status = connectDB(conn);
|
132 | 135 | return conn;
|
133 | 136 | }
|
@@ -164,8 +167,9 @@ connectDB(PGconn *conn)
|
164 | 167 | user = fe_getauthname(conn->errorMessage);
|
165 | 168 | if (!user)
|
166 | 169 | goto connect_errReturn;
|
167 |
| - strncpy(startup.database,conn->dbName,sizeof(startup.database)); |
168 | 170 | strncpy(startup.user,user,sizeof(startup.user));
|
| 171 | + free(user); |
| 172 | + strncpy(startup.database,conn->dbName,sizeof(startup.database)); |
169 | 173 | strncpy(startup.tty,conn->pgtty,sizeof(startup.tty));
|
170 | 174 | if (conn->pgoptions) {
|
171 | 175 | strncpy(startup.options,conn->pgoptions, sizeof(startup.options));
|
|
0 commit comments