changeset 3868:11ca7e9ed817

(S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK is defined.
author Jim Meyering <jim@meyering.net>
date Sat, 15 Jun 2002 07:36:57 +0000
parents 3408d696f6d7
children 473abe58529e
files lib/lchown.c lib/xstat.in
diffstat 2 files changed, 16 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lib/lchown.c
+++ b/lib/lchown.c
@@ -1,5 +1,5 @@
 /* Provide a stub lchown function for systems that lack it.
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2002 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -30,8 +30,13 @@
 #ifdef STAT_MACROS_BROKEN
 # undef S_ISLNK
 #endif
-#if !defined(S_ISLNK) && defined(S_IFLNK)
-# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+
+#ifndef S_ISLNK
+# ifdef S_IFLNK
+#  define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+# else
+#  define S_ISLNK(m) 0
+# endif
 #endif
 
 /* Declare chown to avoid a warning.  Don't include unistd.h,
--- a/lib/xstat.in
+++ b/lib/xstat.in
@@ -4,7 +4,7 @@
 /* Work around the bug in some systems whereby @xstat@ succeeds when
    given the zero-length file name argument.  The @xstat@ from SunOS4.1.4
    has this bug.
-   Copyright (C) 1997-2001 Free Software Foundation, Inc.
+   Copyright (C) 1997-2002 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -39,8 +39,13 @@
 #ifdef STAT_MACROS_BROKEN
 # undef S_ISLNK
 #endif
-#if !defined(S_ISLNK) && defined(S_IFLNK)
-# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+
+#ifndef S_ISLNK
+# ifdef S_IFLNK
+#  define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+# else
+#  define S_ISLNK(m) 0
+# endif
 #endif
 
 #ifndef HAVE_DECL_FREE