"Serguei Mokhov" <[EMAIL PROTECTED]> 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

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to