Command-line parsing in pg_ctl is not portable - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Command-line parsing in pg_ctl is not portable
Date
Msg-id 200410191550.37098.peter_e@gmx.net
Whole thread Raw
Responses Re: Command-line parsing in pg_ctl is not portable
List pgsql-hackers
The command-line argument parsing in pg_ctl is not portable.  This is the 
output on a glibc system:

$ pg_ctl start stop
pg_ctl: too many command-line arguments (first is "start")

But:

$ POSIXLY_CORRECT=1 pg_ctl start stop
pg_ctl: too many command-line arguments (first is "stop")

This is probably because GNU getopt rearranges the arguments, and since pg_ctl 
uses two while loops to try to allow non-option arguments before options, 
things may get reordered multiple times.

Now this particular case is minor trouble, but I wonder in what other 
situations arguments will get reordered where the order does make a 
difference.

-- 
Peter Eisentraut
http://developer.postgresql.org/~petere/


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: 7.4 changes
Next
From: "Zeugswetter Andreas DAZ SD"
Date:
Subject: Re: [PATCHES] Open Items