On Mon, 17 Mar 2003, Bruce Momjian wrote:
>
> How widespread is Oid(0) in C++? I have never seen anything like that.
> It looks like a function call!
It is, sort of, probably. Looks like a constructor of an instance of type
Oid. Certainly valid C++ I think, at least I'm sure something like
int(0) should work but then this is trawling through my memory somewhat.
As I don't know anything about this old style cast warning I can't say which is
supposed to be more acceptable.
>
> ---------------------------------------------------------------------------
>
> Jeroen T. Vermeulen wrote:
> > Compiling anything that uses InvalidOid under g++ yields a warning about
> > the expression using an "old-style cast." Therefore, would it be okay to
> > patch postgres_ext.h as follows:
> >
> >
> > *** src/include/postgres_ext.h 2003-02-22 16:24:28.000000000 +0100
> > --- ../postgres_ext.h 2003-03-06 21:44:11.000000000 +0100
> > ***************
> > *** 28,34 ****
> > --- 28,38 ----
> > */
> > typedef unsigned int Oid;
> >
> > + #ifdef __cplusplus
> > + #define InvalidOid (Oid(0))
> > + #else
> > #define InvalidOid ((Oid) 0)
> > + #endif
> >
> > #define OID_MAX UINT_MAX
> > /* you will need to include <limits.h> to use the above #define */
> >
> >
> > Jeroen
> >
--
Nigel J. Andrews