From 66d56a8efe69f4bd63e6df0f9b2fd21b9e040ae7 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 12 Jul 2004 01:54:10 +0000 Subject: [PATCH] Fix username mismatch in initdb. Magnus. --- src/bin/initdb/initdb.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index 8b4ac1e29e..52e3e1ac75 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -39,7 +39,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * Portions taken from FreeBSD. * - * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.41 2004/07/01 00:51:36 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.42 2004/07/12 01:54:10 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1137,7 +1137,7 @@ get_set_pwd(void) PG_CMD_OPEN; if (fprintf(pg, - "ALTER USER \"%s\" WITH PASSWORD '%s';\n", username, pwd1) < 0) + "ALTER USER \"%s\" WITH PASSWORD '%s';\n", effective_user, pwd1) < 0) { /* write failure */ exit_nicely(); @@ -1433,7 +1433,7 @@ setup_privileges(void) PG_CMD_OPEN; priv_lines = replace_token(privileges_setup, - "$POSTGRES_SUPERUSERNAME", username); + "$POSTGRES_SUPERUSERNAME", effective_user); for (line = priv_lines; *line != NULL; line++) PG_CMD_PUTLINE; @@ -2002,9 +2002,10 @@ main(int argc, char *argv[]) exit(1); } - effective_user = get_id(); - if (!strlen(username)) - username = effective_user; + if (strlen(username)) + effective_user = username; + else + effective_user = get_id(); if (strlen(encoding)) encodingid = get_encoding_id(encoding); @@ -2033,7 +2034,7 @@ main(int argc, char *argv[]) PG_VERSION, pg_data, share_path, bin_path, encoding, encodingid, - username, bki_file, + effective_user, bki_file, desc_file, conf_file, hba_file, ident_file); if (show_setting)