From 00be75415c3cd306088f3c6676f7e5805ed22bba Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 24 May 2010 16:34:35 +0000 Subject: [PATCH] Split apart pg_upgrade user lookup and root check so '--help' shows proper default username. --- contrib/pg_upgrade/option.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/contrib/pg_upgrade/option.c b/contrib/pg_upgrade/option.c index 4d97da05ab..83e0ea6c15 100644 --- a/contrib/pg_upgrade/option.c +++ b/contrib/pg_upgrade/option.c @@ -48,7 +48,8 @@ parseCommandLine(migratorContext *ctx, int argc, char *argv[]) }; char option; /* Command line option */ int optindex = 0; /* used by getopt_long */ - + int user_id; + if (getenv("PGUSER")) { pg_free(ctx->user); @@ -62,6 +63,9 @@ parseCommandLine(migratorContext *ctx, int argc, char *argv[]) ctx->transfer_mode = TRANSFER_MODE_COPY; + /* user lookup and 'root' test must be split because of usage() */ + user_id = get_user_info(ctx, &ctx->user); + if (argc > 1) { if (strcmp(argv[1], "--help") == 0 || strcmp(argv[1], "-h") == 0 || @@ -77,7 +81,7 @@ parseCommandLine(migratorContext *ctx, int argc, char *argv[]) } } - if ((get_user_info(ctx, &ctx->user)) == 0) + if (user_id == 0) pg_log(ctx, PG_FATAL, "%s: cannot be run as root\n", ctx->progname); #ifndef WIN32 -- 2.40.0