diff --git a/ChangeLog b/ChangeLog index 7db74b326c..a178be5de4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2010-04-04 Ulrich Drepper + * 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