aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2010-04-04 01:51:01 -0700
committerUlrich Drepper <drepper@redhat.com>2010-04-04 01:51:01 -0700
commit952df0afdca2333e9fae7d62a36077c348d2df93 (patch)
treee5c48e2a2b4eb47cf549e5022e967be0957a2eef
parent9e37946dba22b53c5108eef777e867f93c894502 (diff)
downloadglibc-952df0afdca2333e9fae7d62a36077c348d2df93.tar
glibc-952df0afdca2333e9fae7d62a36077c348d2df93.tar.gz
glibc-952df0afdca2333e9fae7d62a36077c348d2df93.tar.bz2
glibc-952df0afdca2333e9fae7d62a36077c348d2df93.zip
Fix definition and testing of S_ISSOCK.
-rw-r--r--ChangeLog5
-rw-r--r--conform/data/sys/stat.h-data5
-rw-r--r--io/sys/stat.h6
3 files changed, 11 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 7db74b326c..a178be5de4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2010-04-04 Ulrich Drepper <drepper@redhat.com>
+ * conform/data/sys/stat.h-data: Fix testing of S_IS* macros.
+
+ [BZ #11279]
+ * io/sys/stat.h: Always define S_ISSOCK for XPG6 and up.
+
[BZ #11287]
* csu/Makefile ($(objpfx)version-info.h): Handle newer kernel headers
which don't define UTS_RELEASE.
diff --git a/conform/data/sys/stat.h-data b/conform/data/sys/stat.h-data
index df39fd3d81..b0e10a4c7f 100644
--- a/conform/data/sys/stat.h-data
+++ b/conform/data/sys/stat.h-data
@@ -66,15 +66,14 @@ constant S_ISGID
constant S_ISVTX
#endif
-#if !defined POSIX && !defined POSIX2008
-macro S_IFMT
+#if !defined POSIX
macro S_ISBLK
macro S_ISCHR
macro S_ISDIR
macro S_ISFIFO
macro S_ISREG
macro S_ISLNK
-macro S_IFSOCK
+macro S_ISSOCK
#endif
// How to represent optional tests?
diff --git a/io/sys/stat.h b/io/sys/stat.h
index 733a927888..ac740cad38 100644
--- a/io/sys/stat.h
+++ b/io/sys/stat.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995-2004, 2005, 2006, 2007, 2009
+/* Copyright (C) 1991, 1992, 1995-2004, 2005, 2006, 2007, 2009, 2010
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -143,9 +143,11 @@ __BEGIN_DECLS
# define S_ISLNK(mode) 0
#endif
-#if (defined __USE_BSD || defined __USE_UNIX98) \
+#if (defined __USE_BSD || defined __USE_UNIX98 || defined __USE_XOPEN2K) \
&& defined __S_IFSOCK
# define S_ISSOCK(mode) __S_ISTYPE((mode), __S_IFSOCK)
+#elif defined __USE_XOPEN2K
+# define S_ISSOCK(mode) 0
#endif
/* These are from POSIX.1b. If the objects are not implemented using separate