postgres.git / summary / log / commit / refs

commit    22b743b2ca18a692ba8d91bc18e7c42a8b7941ad
Author:   Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date:     Fri Oct 24 15:55:33 2014 +0000
First released in: 9.5.0

    Oops, the commit accept pg_controldata -D datadir missed code changes.
    
    I updated the docs and usage blurp, but forgot to commit the code changes
    required.
    
    Spotted by Michael Paquier.


src/bin/pg_controldata/pg_controldata.c | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/src/bin/pg_controldata/pg_controldata.c b/src/bin/pg_controldata/pg_controldata.c index 118e653b797..dd68f793c3d 100644 --- a/src/bin/pg_controldata/pg_controldata.c +++ b/src/bin/pg_controldata/pg_controldata.c @@ -90,7 +90,7 @@ main(int argc, char *argv[]) ControlFileData ControlFile; int fd; char ControlFilePath[MAXPGPATH]; - char *DataDir; + char *DataDir = NULL; pg_crc32 crc; time_t time_tmp; char pgctime_str[128]; @@ -100,6 +100,7 @@ main(int argc, char *argv[]) const char *progname; XLogSegNo segno; char xlogfilename[MAXFNAMELEN]; + int c; set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_controldata")); @@ -119,10 +120,28 @@ main(int argc, char *argv[]) } } - if (argc > 1) - DataDir = argv[1]; - else - DataDir = getenv("PGDATA"); + while ((c = getopt(argc, argv, "D:")) != -1) + { + switch (c) + { + case 'D': + DataDir = optarg; + break; + + default: + fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname); + exit(1); + } + } + + if (DataDir == NULL) + { + if (optind < argc) + DataDir = argv[optind++]; + else + DataDir = getenv("PGDATA"); + } + if (DataDir == NULL) { fprintf(stderr, _("%s: no data directory specified\n"), progname); [parent: 85bb81de530a]