summaryrefslogtreecommitdiffstats
path: root/winsup/mingw/include/sys/stat.h
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/mingw/include/sys/stat.h')
-rw-r--r--winsup/mingw/include/sys/stat.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/winsup/mingw/include/sys/stat.h b/winsup/mingw/include/sys/stat.h
index 0178660bd..47862105f 100644
--- a/winsup/mingw/include/sys/stat.h
+++ b/winsup/mingw/include/sys/stat.h
@@ -46,7 +46,7 @@
*/
#define _S_IFIFO 0x1000 /* FIFO */
#define _S_IFCHR 0x2000 /* Character */
-#define _S_IFBLK 0x3000 /* Block */
+#define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */
#define _S_IFDIR 0x4000 /* Directory */
#define _S_IFREG 0x8000 /* Regular */
@@ -61,11 +61,11 @@
#define _S_IWUSR _S_IWRITE
#define _S_IRUSR _S_IREAD
-#define _S_ISDIR(m) ((m) & _S_IFDIR)
-#define _S_ISFIFO(m) ((m) & _S_IFIFO)
-#define _S_ISCHR(m) ((m) & _S_IFCHR)
-#define _S_ISBLK(m) ((m) & _S_IFBLK)
-#define _S_ISREG(m) ((m) & _S_IFREG)
+#define _S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR)
+#define _S_ISFIFO(m) (((m) & _S_IFMT) == _S_IFIFO)
+#define _S_ISCHR(m) (((m) & _S_IFMT) == _S_IFCHR)
+#define _S_ISBLK(m) (((m) & _S_IFMT) == _S_IFBLK)
+#define _S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG)
#ifndef _NO_OLDNAMES
@@ -83,11 +83,11 @@
#define S_IWUSR _S_IWUSR
#define S_IRUSR _S_IRUSR
-#define S_ISDIR(m) ((m) & S_IFDIR)
-#define S_ISFIFO(m) ((m) & S_IFIFO)
-#define S_ISCHR(m) ((m) & S_IFCHR)
-#define S_ISBLK(m) ((m) & S_IFBLK)
-#define S_ISREG(m) ((m) & S_IFREG)
+#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
+#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
+#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
#endif /* Not _NO_OLDNAMES */