Re: stat() on Windows might cause error if target file is larger than 4GB - Mailing list pgsql-hackers

From Robert Haas
Subject Re: stat() on Windows might cause error if target file is larger than 4GB
Date
Msg-id CA+TgmoY6BqkaLt5_P+FUOn=XDDBt94-VRuQ-XQ3WTaHYMovuag@mail.gmail.com
Whole thread Raw
In response to Re: stat() on Windows might cause error if target file is larger than 4GB  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: stat() on Windows might cause error if target file is largerthan 4GB  (Michael Paquier <michael@paquier.xyz>)
List pgsql-hackers
On Thu, Sep 13, 2018 at 10:29 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> What I was vaguely imagining is that win32_port.h could #include
> whichever Windows header defines these functions and structs, and
> then do
>
> #define stat __stat64
>
> static inline ... __stat64(...) { return _stat64(...); }
>
> What would need testing is whether the #define has nasty side-effects
> even if we've already included the system header.  I don't think it'd
> hurt, eg, local variables named "stat"; though people might be surprised
> when examining things in a debugger.

This, to me, seems way too clever.  Replacing 'struct stat' with
something else everywhere in the code is more churn, but far less
likely to have surprising consequences down the road.  Or so I would
think, anyway.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: [HACKERS] Bug in to_timestamp().
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] Bug in to_timestamp().