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

From: Andrew Francis <locust(at)familyhealth(dot)com(dot)au>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, pgsql-hackers-win32(at)postgresql(dot)org, PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: libpq build problem with <io.h> on MS VC++
Date: 2004-08-17 04:21:21
Message-ID: 412187C1.2060606@familyhealth.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers-win32 pgsql-patches

Tom Lane wrote:
> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> 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.

How about avoiding #define altogether, and:

- Always use pgrename/pgunlink instead of rename/unlink

- Provide stubs for non-Win32 systems

#ifndef WIN32
int pgrename(const char *from, const char *to) {
return rename(from,to);
}
#endif

#define is evil, afterall.

--
Andrew Francis
Lead Developer - Software
Family Health Network

In response to

Responses

Browse pgsql-hackers-win32 by date

  From Date Subject
Next Message Bruce Momjian 2004-08-17 04:24:14 Re: libpq build problem with <io.h> on MS VC++
Previous Message Bruce Momjian 2004-08-17 04:14:39 Re: libpq build problem with <io.h> on MS VC++

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2004-08-17 04:24:14 Re: libpq build problem with <io.h> on MS VC++
Previous Message Bruce Momjian 2004-08-17 04:14:39 Re: libpq build problem with <io.h> on MS VC++