Randomly placed definition of S_ISDIR() in psql/copy.c
Why does psql/copy.c contain this?
#if defined(WIN32) && !defined(S_ISDIR)
#define __S_ISTYPE(mode, mask) (((mode) & S_IFMT) == (mask))
#define S_ISDIR(mode) __S_ISTYPE((mode), S_IFDIR)
#endif
Surely a better place for such a thing is src/include/port/win32.h
... where indeed there already is a definition of S_ISDIR().
So I think this is dead code as well as poor style. Any objection to
seeing what happens if we remove it?
regards, tom lane
On Sat, Apr 25, 2009 at 04:35:21PM -0400, Tom Lane wrote:
Why does psql/copy.c contain this?
#if defined(WIN32) && !defined(S_ISDIR)
#define __S_ISTYPE(mode, mask) (((mode) & S_IFMT) == (mask))
#define S_ISDIR(mode) __S_ISTYPE((mode), S_IFDIR)
#endifSurely a better place for such a thing is src/include/port/win32.h
... where indeed there already is a definition of S_ISDIR(). So I
think this is dead code as well as poor style. Any objection to
seeing what happens if we remove it?
Nope :)
Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter@gmail.com
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate
Tom Lane wrote:
Why does psql/copy.c contain this?
#if defined(WIN32) && !defined(S_ISDIR)
#define __S_ISTYPE(mode, mask) (((mode) & S_IFMT) == (mask))
#define S_ISDIR(mode) __S_ISTYPE((mode), S_IFDIR)
#endifSurely a better place for such a thing is src/include/port/win32.h
... where indeed there already is a definition of S_ISDIR().
So I think this is dead code as well as poor style. Any objection to
seeing what happens if we remove it?
I believe that code pre-dates the full win32 port, and is from the time
when we did just libpq + psql.
So, +1 on killing it.
//Magnus