diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c index 91efe305650..f016b336308 100644 --- a/src/bin/pg_dump/pg_restore.c +++ b/src/bin/pg_dump/pg_restore.c @@ -225,16 +225,14 @@ main(int argc, char **argv) opts->filename = pg_strdup(optarg); break; case 'F': - if (strlen(optarg) != 0) - opts->formatName = pg_strdup(optarg); + opts->formatName = pg_strdup(optarg); break; case 'g': /* restore only global sql commands. */ globals_only = true; break; case 'h': - if (strlen(optarg) != 0) - opts->cparams.pghost = pg_strdup(optarg); + opts->cparams.pghost = pg_strdup(optarg); break; case 'j': /* number of restore jobs */ if (!option_parse_int(optarg, "-j/--jobs", 1, @@ -264,8 +262,7 @@ main(int argc, char **argv) break; case 'p': - if (strlen(optarg) != 0) - opts->cparams.pgport = pg_strdup(optarg); + opts->cparams.pgport = pg_strdup(optarg); break; case 'R': /* no-op, still accepted for backwards compatibility */ diff --git a/src/bin/pg_dump/t/001_basic.pl b/src/bin/pg_dump/t/001_basic.pl index 86eec1b0064..509f4f9ce7d 100644 --- a/src/bin/pg_dump/t/001_basic.pl +++ b/src/bin/pg_dump/t/001_basic.pl @@ -204,7 +204,12 @@ command_fails_like( command_fails_like( [ 'pg_restore', '-f -', '-F', 'garbage' ], qr/\Qpg_restore: error: unrecognized archive format "garbage";\E/, - 'pg_dump: unrecognized archive format'); + 'pg_restore: unrecognized archive format'); + +command_fails_like( + [ 'pg_restore', '-f -', '-F', '' ], + qr/\Qpg_restore: error: unrecognized archive format "";\E/, + 'pg_restore: empty archive format'); command_fails_like( [ 'pg_dump', '--on-conflict-do-nothing' ],