From 9f39b8ee79acf35a6c910291759b5f6786b4e717 Mon Sep 17 00:00:00 2001
From: Daniel Gustafsson <daniel@yesql.se>
Date: Tue, 19 Jun 2018 00:53:39 +0200
Subject: [PATCH 3/3] Add --pgdata as alias for -D for consistency

Most, if not all, tools use both -D and --pgdata for specifying
the DataDir. Support both in pg_verify_checsums as well to be
consistent with the other tools.
---
 doc/src/sgml/ref/pg_verify_checksums.sgml         |  3 ++-
 src/bin/pg_verify_checksums/pg_verify_checksums.c | 18 ++++++++++++------
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/doc/src/sgml/ref/pg_verify_checksums.sgml b/doc/src/sgml/ref/pg_verify_checksums.sgml
index 3416955ec9..c4c15a46ba 100644
--- a/doc/src/sgml/ref/pg_verify_checksums.sgml
+++ b/doc/src/sgml/ref/pg_verify_checksums.sgml
@@ -23,7 +23,7 @@ PostgreSQL documentation
   <cmdsynopsis>
    <command>pg_verify_checksums</command>
    <arg choice="opt"><replaceable class="parameter">option</replaceable></arg>
-   <arg choice="opt"><arg choice="opt"><option>-D</option></arg> <replaceable class="parameter">datadir</replaceable></arg>
+   <arg choice="opt"><arg choice="opt"><option>-D</option></arg><arg choice="opt"><option>--pgdata</option></arg> <replaceable class="parameter">datadir</replaceable></arg>
   </cmdsynopsis>
  </refsynopsisdiv>
 
@@ -45,6 +45,7 @@ PostgreSQL documentation
 
      <varlistentry>
       <term><option>-D <replaceable>directory</replaceable></option></term>
+      <term><option>--pgdata=<replaceable>directory</replaceable></option></term>
       <listitem>
        <para>
         Specifies the directory where the database cluster is stored.
diff --git a/src/bin/pg_verify_checksums/pg_verify_checksums.c b/src/bin/pg_verify_checksums/pg_verify_checksums.c
index 845d5aba27..48e754822c 100644
--- a/src/bin/pg_verify_checksums/pg_verify_checksums.c
+++ b/src/bin/pg_verify_checksums/pg_verify_checksums.c
@@ -41,11 +41,11 @@ usage()
 	printf(_("Usage:\n"));
 	printf(_("  %s [OPTION] [DATADIR]\n"), progname);
 	printf(_("\nOptions:\n"));
-	printf(_(" [-D] DATADIR    data directory\n"));
-	printf(_("  -r relfilenode check only relation with specified relfilenode\n"));
-	printf(_("  -d             debug output, listing all checked blocks\n"));
-	printf(_("  -V, --version  output version information, then exit\n"));
-	printf(_("  -?, --help     show this help, then exit\n"));
+	printf(_(" [-D, --pgdata=]DATADIR  data directory\n"));
+	printf(_("  -r relfilenode         check only relation with specified relfilenode\n"));
+	printf(_("  -d                     debug output, listing all checked blocks\n"));
+	printf(_("  -V, --version          output version information, then exit\n"));
+	printf(_("  -?, --help             show this help, then exit\n"));
 	printf(_("\nIf no data directory (DATADIR) is specified, "
 			 "the environment variable PGDATA\nis used.\n\n"));
 	printf(_("Report bugs to <pgsql-bugs@postgresql.org>.\n"));
@@ -205,8 +205,14 @@ scan_directory(char *basedir, char *subdir)
 int
 main(int argc, char *argv[])
 {
+	static struct option long_options[] = {
+		{"pgdata", required_argument, NULL, 'D'},
+		{NULL, 0, NULL, 0}
+	};
+
 	char	   *DataDir = NULL;
 	int			c;
+	int			option_index;
 	bool		crc_ok;
 
 	set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_verify_checksums"));
@@ -227,7 +233,7 @@ main(int argc, char *argv[])
 		}
 	}
 
-	while ((c = getopt(argc, argv, "D:r:d")) != -1)
+	while ((c = getopt_long(argc, argv, "D:r:d", long_options, &option_index)) != -1)
 	{
 		switch (c)
 		{
-- 
2.14.1.145.gb3622a4ee

