The _S_IFBLK macro, used to identify block special files in file systems, is being updated from 0x3000 to 0x6000. This change aligns mingw-w64 with the more commonly used value across Unix-like systems and other C libraries.
The old value of 0x3000 may have caused compatibility issues when working with code that assumes the standard 0x6000 value for S_IFBLK. This update improves cross-platform compatibility and consistency with other systems, making it easier to write portable code that deals with file type identification. It also reduces potential confusion and errors that might arise from the non-standard value. One of these is for example python. This is only an example. It does not change the fact that python should be more careful about actual value implementation. Note that the current value implies character device + FIFO instead of character device + directory. Link: https://github.com/python/cpython/blob/f81990024554a75e2ab31133a72d9f0954690435/Python/fileutils.c#L1197 Link: https://github.com/torvalds/linux/blob/81e4f8d68c66da301bb881862735bd74c6241a19/include/uapi/linux/stat.h#L13 Signed-off-by: Daniel Starke <daniel-em...@gmx.net> --- mingw-w64-headers/crt/sys/stat.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-headers/crt/sys/stat.h b/mingw-w64-headers/crt/sys/stat.h index 5a85c2c483b5..06499bcb481f 100644 --- a/mingw-w64-headers/crt/sys/stat.h +++ b/mingw-w64-headers/crt/sys/stat.h @@ -130,7 +130,7 @@ extern "C" { #endif #ifndef NO_OLDNAMES -#define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */ +#define _S_IFBLK 0x6000 /* Block: Is this ever set under w32? */ #define S_IFMT _S_IFMT #define S_IFDIR _S_IFDIR -- 2.39.5 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public