Sounds like a *great* bug fix to me ... if you "have better things to do",
I can tackle it ...
On Tue, 7 Mar 2000, Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > This looks interesting. We could remove some of our ifwin cruft.
>
> I have been thinking for quite some time that most of the CYGWIN32
> ifdefs represent very poor programming. Instead of zillions of
>
> #ifndef __CYGWIN32__
> fd = open(filename, O_RDONLY, 0666);
> #else
> fd = open(filename, O_RDONLY | O_BINARY, 0666);
> #endif
>
> we should have in one include file something like
>
> #ifndef __CYGWIN32__
> #define OPEN_FLAGS_READ O_RDONLY
> #define OPEN_FLAGS_WRITE O_WRONLY
> // etc for the combinations we need
> #else
> #define OPEN_FLAGS_READ (O_RDONLY | O_BINARY)
> #define OPEN_FLAGS_WRITE (O_WRONLY | O_BINARY)
> // etc
> #endif
>
> and then the body of the code would have
>
> fd = open(filename, OPEN_FLAGS_READ, 0666);
>
> and no ifdef. This would also provide a single place to tweak open()
> flags for other platforms, whereas the existing method is exactly zero
> help for any non-CYGWIN platform that wants to add O_BINARY ...
>
> regards, tom lane
>
> ************
>
Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org