On Wed, Oct 10, 2012 at 7:54 PM, Bruce Momjian <br...@momjian.us> wrote: > On Mon, Oct 8, 2012 at 09:03:37PM -0400, Bruce Momjian wrote: >> On Mon, Oct 8, 2012 at 04:33:29PM -0400, Tom Lane wrote: >> > Bruce Momjian <br...@momjian.us> writes: >> > > A while ago I noticed that in some places we strdup/pg_strdup() optarg >> > > strings from getopt(), and in some places we don't. >> > >> > > If we needed the strdup(), the missing cases should generate errors. If >> > > we don't need them, the strdup() is unnecessary, and research confirms >> > > they are unnecessary. Should we remove the extra strdup/pg_strdup() >> > > calls, for consistency. >> > >> > What research? Given the number of different ways argv[] is handled >> > on different platforms (cf ps_status.c), I am very unwilling to trust >> > that it's safe to hang onto an argv string for long without strdup'ing >> > it. >> > >> > > I think we might have had old platforms that required it, but none are >> > > still supported today. >> > >> > And what's your grounds for stating that? All the alternatives in >> > ps_status.c are still live code AFAICS. >> > >> > My feeling is it's more likely to be a good idea to be adding strdup's >> > than removing them. >> >> Well, what we have now is either wrong or over-kill --- I don't know for >> sure which. > > OK, I have developed the attached patch to add strdup/pg_strdup() calls > to all saving of getopt optarg arguments. > > Also, do we want to centralize the definition of pg_strdup() in /port, > or leave each module to define it on its own? I see pg_strdup() defined > in these modules: > > /pgtop/contrib/oid2name > /pgtop/contrib/pgbench > /pgtop/contrib/pg_upgrade > /pgtop/src/bin/initdb > /pgtop/src/bin/pg_basebackup > /pgtop/src/bin/pg_ctl > /pgtop/src/bin/pg_dump > /pgtop/src/bin/psql > /pgtop/src/bin/scripts >
+1 for a centralized definition. > -- > Bruce Momjian <br...@momjian.us> http://momjian.us > EnterpriseDB http://enterprisedb.com > > + It's impossible for everything to be true. + > > > -- > Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers > -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers