pg_walsummary, Character-not-present-in-option

Started by btsugieyuusukeover 1 year ago4 messages
#1btsugieyuusuke
btsugieyuusuke@oss.nttdata.com

Hi hackers,
I found probably something to fix in pg_walsummary.

pg_walsummary specifies “f:iqw:” as the third argument of getopt_long().

/* process command-line options */
while ((c = getopt_long(argc, argv, "f:iqw:",
long_options, &optindex)) != -1)

However, only i and q are valid options.

switch (c)
{
case 'i':
break;
case 'q':
opt.quiet = true;
break;
default:
/* getopt_long already emitted a complaint */
pg_log_error_hint("Try \"%s --help\" for more information.",
progname);
exit(1);
}

Therefore, shouldn't “f:” and “w:” be removed?

Best regards,
Yusuke Sugie

#2btsugieyuusuke
btsugieyuusuke@oss.nttdata.com
In reply to: btsugieyuusuke (#1)
1 attachment(s)
Re: pg_walsummary, Character-not-present-in-option

I forgot to attach the patch file, so I'm attaching it in reply.

2024-09-30 15:02 に btsugieyuusuke さんは書きました:

Show quoted text

Hi hackers,
I found probably something to fix in pg_walsummary.

pg_walsummary specifies “f:iqw:” as the third argument of
getopt_long().

/* process command-line options */
while ((c = getopt_long(argc, argv, "f:iqw:",
long_options, &optindex)) != -1)

However, only i and q are valid options.

switch (c)
{
case 'i':
break;
case 'q':
opt.quiet = true;
break;
default:
/* getopt_long already emitted a complaint */
pg_log_error_hint("Try \"%s --help\" for more information.",
progname);
exit(1);
}

Therefore, shouldn't “f:” and “w:” be removed?

Best regards,
Yusuke Sugie

Attachments:

0001-Character-not-present-in-option.patchtext/x-diff; name=0001-Character-not-present-in-option.patchDownload
From 7ced18bad958156a18bab6b6a9abe554fb44f970 Mon Sep 17 00:00:00 2001
From: Yuusuke Sugie <btsugieyuusuke@oss.nttdata.com>
Date: Fri, 27 Sep 2024 17:06:10 +0900
Subject: [PATCH] Character not present in option

---
 src/bin/pg_walsummary/pg_walsummary.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/pg_walsummary/pg_walsummary.c b/src/bin/pg_walsummary/pg_walsummary.c
index 93f6e6d408..f6a262d318 100644
--- a/src/bin/pg_walsummary/pg_walsummary.c
+++ b/src/bin/pg_walsummary/pg_walsummary.c
@@ -71,7 +71,7 @@ main(int argc, char *argv[])
 	handle_help_version_opts(argc, argv, progname, help);
 
 	/* process command-line options */
-	while ((c = getopt_long(argc, argv, "f:iqw:",
+	while ((c = getopt_long(argc, argv, "iq",
 							long_options, &optindex)) != -1)
 	{
 		switch (c)
-- 
2.40.1

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: btsugieyuusuke (#2)
Re: pg_walsummary, Character-not-present-in-option

btsugieyuusuke <btsugieyuusuke@oss.nttdata.com> writes:

Therefore, shouldn't “f:” and “w:” be removed?

Looks like that to me too. Pushed.

regards, tom lane

#4Robert Haas
robertmhaas@gmail.com
In reply to: Tom Lane (#3)
Re: pg_walsummary, Character-not-present-in-option

On Mon, Sep 30, 2024 at 12:08 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:

btsugieyuusuke <btsugieyuusuke@oss.nttdata.com> writes:

Therefore, shouldn't “f:” and “w:” be removed?

Looks like that to me too. Pushed.

Thanks to Yusuke-san for the report and patch and to Tom for the
commit. I vaguely recall that early in the development of
pg_walsummary I thought it was going to need more options than and
then realized that some of them weren't necessary. Looks like I did a
bad job removing the leftovers; thanks for cleaning it up.

--
Robert Haas
EDB: http://www.enterprisedb.com