Skip to content

Commit 3429019

Browse files
committed
Revert recent commit re positional arguments.
1 parent f8c53d5 commit 3429019

File tree

6 files changed

+38
-75
lines changed

6 files changed

+38
-75
lines changed

src/bin/initdb/initdb.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2644,11 +2644,8 @@ main(int argc, char *argv[])
26442644
}
26452645

26462646

2647-
/*
2648-
* Non-option argument specifies data directory
2649-
* as long as it wasn't already specified with -D / --pgdata
2650-
*/
2651-
if (optind < argc && strlen(pg_data) == 0)
2647+
/* Non-option argument specifies data directory */
2648+
if (optind < argc)
26522649
{
26532650
pg_data = xstrdup(argv[optind]);
26542651
optind++;

src/bin/scripts/clusterdb.c

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -106,22 +106,18 @@ main(int argc, char *argv[])
106106
}
107107
}
108108

109-
/*
110-
* Non-option argument specifies database name
111-
* as long as it wasn't already specified with -d / --dbname
112-
*/
113-
if (optind < argc && dbname == NULL)
109+
switch (argc - optind)
114110
{
115-
dbname = argv[optind];
116-
optind++;
117-
}
118-
119-
if (optind < argc)
120-
{
121-
fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"),
122-
progname, argv[optind + 1]);
123-
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
124-
exit(1);
111+
case 0:
112+
break;
113+
case 1:
114+
dbname = argv[optind];
115+
break;
116+
default:
117+
fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"),
118+
progname, argv[optind + 1]);
119+
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
120+
exit(1);
125121
}
126122

127123
setup_cancel_handler();

src/bin/scripts/createlang.c

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -91,24 +91,14 @@ main(int argc, char *argv[])
9191
}
9292
}
9393

94-
/*
95-
* We set dbname from positional arguments if it is not
96-
* already set by option arguments -d. If not doing
97-
* listlangs, positional dbname must follow positional
98-
* langname.
99-
*/
100-
10194
if (argc - optind > 0)
10295
{
10396
if (listlangs)
104-
{
105-
if (dbname == NULL)
106-
dbname = argv[optind++];
107-
}
97+
dbname = argv[optind++];
10898
else
10999
{
110100
langname = argv[optind++];
111-
if (argc - optind > 0 && dbname == NULL)
101+
if (argc - optind > 0)
112102
dbname = argv[optind++];
113103
}
114104
}

src/bin/scripts/droplang.c

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -90,24 +90,14 @@ main(int argc, char *argv[])
9090
}
9191
}
9292

93-
/*
94-
* We set dbname from positional arguments if it is not
95-
* already set by option arguments -d. If not doing
96-
* listlangs, positional dbname must follow positional
97-
* langname.
98-
*/
99-
10093
if (argc - optind > 0)
10194
{
10295
if (listlangs)
103-
{
104-
if (dbname == NULL)
105-
dbname = argv[optind++];
106-
}
96+
dbname = argv[optind++];
10797
else
10898
{
10999
langname = argv[optind++];
110-
if (argc - optind > 0 && dbname == NULL)
100+
if (argc - optind > 0)
111101
dbname = argv[optind++];
112102
}
113103
}

src/bin/scripts/reindexdb.c

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -116,22 +116,17 @@ main(int argc, char *argv[])
116116
}
117117
}
118118

119-
/*
120-
* Non-option argument specifies database name
121-
* as long as it wasn't already specified with -d / --dbname
122-
*/
123-
if (optind < argc && dbname == NULL)
119+
switch (argc - optind)
124120
{
125-
dbname = argv[optind];
126-
optind++;
127-
}
128-
129-
if (optind < argc)
130-
{
131-
fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"),
132-
progname, argv[optind + 1]);
133-
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
134-
exit(1);
121+
case 0:
122+
break;
123+
case 1:
124+
dbname = argv[optind];
125+
break;
126+
default:
127+
fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"), progname, argv[optind + 1]);
128+
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
129+
exit(1);
135130
}
136131

137132
setup_cancel_handler();

src/bin/scripts/vacuumdb.c

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -129,23 +129,18 @@ main(int argc, char *argv[])
129129
}
130130
}
131131

132-
133-
/*
134-
* Non-option argument specifies database name
135-
* as long as it wasn't already specified with -d / --dbname
136-
*/
137-
if (optind < argc && dbname == NULL)
132+
switch (argc - optind)
138133
{
139-
dbname = argv[optind];
140-
optind++;
141-
}
142-
143-
if (optind < argc)
144-
{
145-
fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"),
146-
progname, argv[optind + 1]);
147-
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
148-
exit(1);
134+
case 0:
135+
break;
136+
case 1:
137+
dbname = argv[optind];
138+
break;
139+
default:
140+
fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"),
141+
progname, argv[optind + 1]);
142+
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
143+
exit(1);
149144
}
150145

151146
if (analyze_only)

0 commit comments

Comments
 (0)