Обсуждение: Randomly placed definition of S_ISDIR() in psql/copy.c

Поиск
Список
Период
Сортировка

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

От
Tom Lane
Дата:
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


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

От
David Fetter
Дата:
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


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

От
Magnus Hagander
Дата:
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