Re: pg_dump.options.diff - Mailing list pgsql-hackers

From Tom Lane
Subject Re: pg_dump.options.diff
Date
Msg-id 4981.1041549367@sss.pgh.pa.us
Whole thread Raw
In response to Re: pg_dump.options.diff  ("Serguei Mokhov" <mokhov@cs.concordia.ca>)
List pgsql-hackers
"Serguei Mokhov" <mokhov@cs.concordia.ca> writes:
>> But there's no good place to put it.  I'd say just stick it into each
>> tool; it's no worse than repeating the existence of a "usage()"
>> subroutine in each tool.

> It ended up being in dumputils.h

I really don't like putting a macro with a name as short as "xo" into a
header file, even one of relatively narrow scope.  It's too likely to
create weird conflicts.  My inclination is to make the coding be more
like

static void
usage(void)
{
#if defined(HAVE_GETOPT_LONG)
#define xo(longOption,shortOption,desc)  printf("%s %s\n", longOption, desc)
#else
#define xo(longOption,shortOption,desc)  printf("%s %s\n", shortOption, desc)
#endif

    ... lots of xo() calls ...

#undef xo
}

This gives us the convenience of a very short name within the usage()
subroutines, while not polluting the namespace for everyplace else in
these utilities.

As I said before, duplicating the definition of xo() in each file that
uses it doesn't bother me a bit; it's too simple for that to be a
significant objection.

            regards, tom lane

pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: PostgreSQL Password Cracker
Next
From: Lamar Owen
Date:
Subject: Upgrading rant.