Randomly placed definition of S_ISDIR() in psql/copy.c

Started by Tom Laneover 16 years ago3 messages
#1Tom Lane
tgl@sss.pgh.pa.us

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

#2David Fetter
david@fetter.org
In reply to: Tom Lane (#1)
Re: Randomly placed definition of S_ISDIR() in psql/copy.c

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)
#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?

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

#3Magnus Hagander
magnus@hagander.net
In reply to: Tom Lane (#1)
Re: Randomly placed definition of S_ISDIR() in psql/copy.c

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)
#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?

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