Re: [PATCHES] libpq build problem with <io.h> on MS VC++
- From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
- To: Andreas Pflug <pgadmin(at)pse-consulting(dot)de>
- Cc: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Andrew Francis <locust(at)familyhealth(dot)com(dot)au>, pgsql-hackers-win32(at)postgresql(dot)org, PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
- Subject: Re: [PATCHES] libpq build problem with <io.h> on MS VC++
- Date: Tue, 17 Aug 2004 10:34:32 -0400
- Message-id: <4172(dot)1092753272(at)sss(dot)pgh(dot)pa(dot)us>
Andreas Pflug <pgadmin(at)pse-consulting(dot)de> writes:
>> Back on track: if rename() does exist under Windows then my idea is
>> unreliable. Any other thoughts? How about #including <io.h> in port.h
>> (for Windows only of course) before we #define these things?
> Probably won't work, because pgrename and rename do not have the same
> definition/linkage.
So? The compiler would see something like
extern linkage_spec rename(...);
extern int pgrename(...);
#define rename pgrename
so the conflict of linkage spec shouldn't bother anything.
> I posted the attached patch 4 days ago, with the comment
> "The attached patch will redefine unlink and rename only if FRONTEND is
> not defined.".
> I still believe this a good way to fix it.
The conflict would still exist. AFAICS it's pure chance that it's
not affecting any backend modules at the moment.
regards, tom lane
Home |
Main Index |
Thread Index