Re: libpq build problem with <io.h> on MS VC++

Bruce Momjian <[email protected]>
Newsgroups gmane.comp.db.postgresql.devel.win32,gmane.comp.db.postgresql.devel.patches
Message-ID <[email protected]>
Bruce Momjian wrote:
> Bruce Momjian wrote:
> > Tom Lane wrote:
> > > Bruce Momjian <[email protected]> writes:
> > > > The only other option I can think of is to #undef those to defines,
> > > > include io.h, then re-include port.h?  Is that better?
> > > 
> > > How about not #define'ing rename() etc in port.h in the first place?
> > > 
> > > We could put
> > > 	#ifdef WIN32
> > > 	#define rename(x) pgrename(x)
> > > 	#endif
> > > into those very few .c files that need it.  (I'm assuming that
> > > forgetting to include this in a file that calls rename() will yield an
> > > obvious build failure on Windows --- if not then the idea is no good.)
> > 
> > I think they have rename --- it just isn't reliable like ours is.
> 
> One other thing we could do is to do the out-of-order includes only for
> MS VC. That is the only platform that needs it, and let the other
> Win32's do the regular include.

Ah, one thing we have done is to reference everything as pg* and define
it to be the libc function on unix and give a compatibility function on
Win32.  We do that with pgpipe.  That might be our best solution.

Personally I never liked defining _away_ from libc function names
(rename -> pgrename), but I think defining _to_ libc names is fine.

Let me fix this tomorrow.  I always felt we had too many tricks in
adding these functions and was never sure we had it consistent.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [email protected]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.