Tighten pg_restore's recognition of its -F (format) option values.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 25 Jan 2025 16:24:16 +0000 (11:24 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 25 Jan 2025 16:24:16 +0000 (11:24 -0500)
commit04ace176e08f2c694bb66b5b91cbd9d4d0bd77ea
treed6e630fac8558855111bb98556ab583384fa75d3
parentd2ca16bb509c453eac181c1ef805ff55289df779
Tighten pg_restore's recognition of its -F (format) option values.

Instead of checking just the first letter, match the whole string
using pg_strcasecmp.  Per the documentation, we allow either just
the first letter (e.g. "c") or the whole name ("custom"); but we
will no longer accept random variations such as "chump".  This
matches pg_dump's longstanding parsing code for the same option.

Also for consistency with pg_dump, recognize "p"/"plain".  We don't
support it, but we can give a more helpful error message than
"unrecognized archive format".

Author: Srinath Reddy <srinath2133@gmail.com>
Discussion: https://postgr.es/m/CAFC+b6pfK-BGcWW1kQmtxVrCh-JGjB2X02rLPQs_ZFaDGjZDsQ@mail.gmail.com
src/bin/pg_dump/pg_restore.c