In interfaces/libpq/libpq-fe.h there is this well-meaning comment:

/*
 * We can't use the conventional "bool", because we are designed to be
 * included in a user's program, and user may already have that type
 * defined.  Pqbool, on the other hand, is unlikely to be used.
 */

Unfortunately, libpq-fe.h includes libpq/pgcomm.h, which in turn 
includes c.h, which defines the bool type.  This causes me problems as
the code I am working with also defines bool.

Of c.h, the only section that pqcomm.h requires is section 3 (standard
system types).  What I have done locally, therefore, is to move that
section into a new file (sys_types.h) and include that from pqcomm.h
instead of c.h.  Does this solution seem reasonable, or does anyone have
a different idea about the way the include files should be arranged?  If
there are no objections, I can submit a patch if you want.

Ewan Mellor.

Mon, 08 Jun 1998 16:56:43 +0100
Ewan Mellor <em@nexus.co.uk>
bool exported to user namespace