Use strdup in pg_ctl for canonicalize_path on environment variable.

Simplify postmaster call too.
This commit is contained in:
Bruce Momjian 2004-07-12 18:17:13 +00:00
parent a0db74a35c
commit 76e7e2e776
2 changed files with 4 additions and 10 deletions

View File

@ -37,7 +37,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.409 2004/07/11 23:49:45 momjian Exp $ * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.410 2004/07/12 18:17:13 momjian Exp $
* *
* NOTES * NOTES
* *
@ -526,10 +526,7 @@ PostmasterMain(int argc, char *argv[])
} }
if (userPGDATA) if (userPGDATA)
{ canonicalize_path(userPGDATA = strdup(userPGDATA));
userPGDATA = strdup(userPGDATA);
canonicalize_path(userPGDATA);
}
if (onlyConfigSpecified(userPGDATA)) if (onlyConfigSpecified(userPGDATA))
{ {

View File

@ -4,7 +4,7 @@
* *
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.18 2004/06/25 08:49:28 dennis Exp $ * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.19 2004/07/12 18:17:13 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -1308,10 +1308,7 @@ main(int argc, char **argv)
/* Note we put any -D switch into the env var above */ /* Note we put any -D switch into the env var above */
pg_data = getenv("PGDATA"); pg_data = getenv("PGDATA");
if (pg_data) if (pg_data)
{ canonicalize_path(pg_data = xstrdup(pg_data));
/* XXX modifies environment var in-place ... ugly ... */
canonicalize_path(pg_data);
}
if (pg_data == NULL && if (pg_data == NULL &&
ctl_command != KILL_COMMAND && ctl_command != UNREGISTER_COMMAND) ctl_command != KILL_COMMAND && ctl_command != UNREGISTER_COMMAND)