diff options
author | Ulrich Drepper <drepper@redhat.com> | 2010-04-04 01:51:01 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2010-04-04 01:51:01 -0700 |
commit | 952df0afdca2333e9fae7d62a36077c348d2df93 (patch) | |
tree | e5c48e2a2b4eb47cf549e5022e967be0957a2eef | |
parent | 9e37946dba22b53c5108eef777e867f93c894502 (diff) | |
download | glibc-952df0afdca2333e9fae7d62a36077c348d2df93.tar.gz glibc-952df0afdca2333e9fae7d62a36077c348d2df93.tar.xz glibc-952df0afdca2333e9fae7d62a36077c348d2df93.zip |
Fix definition and testing of S_ISSOCK.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | conform/data/sys/stat.h-data | 5 | ||||
-rw-r--r-- | io/sys/stat.h | 6 |
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 |