move struct dirent to bits header, allow NAME_MAX to vary
authorRich Felker <dalias@aerifal.cx>
Sun, 26 Jan 2020 04:08:55 +0000 (23:08 -0500)
committerRich Felker <dalias@aerifal.cx>
Sun, 26 Jan 2020 04:08:55 +0000 (23:08 -0500)
this is not necessary for linux but is a simple, inexpensive change to
make that facilitates ports to systems where NAME_MAX needs to be
longer.

arch/generic/bits/dirent.h [new file with mode: 0644]
include/dirent.h
include/limits.h

diff --git a/arch/generic/bits/dirent.h b/arch/generic/bits/dirent.h
new file mode 100644 (file)
index 0000000..c845fe8
--- /dev/null
@@ -0,0 +1,11 @@
+#define _DIRENT_HAVE_D_RECLEN
+#define _DIRENT_HAVE_D_OFF
+#define _DIRENT_HAVE_D_TYPE
+
+struct dirent {
+       ino_t d_ino;
+       off_t d_off;
+       unsigned short d_reclen;
+       unsigned char d_type;
+       char d_name[256];
+};
index e0a8fe6a2f47666ec46755060d38a4a4867ff353..650ecf646ad71c6baf127e328e66ec199ad99ee2 100644 (file)
@@ -15,19 +15,9 @@ extern "C" {
 
 #include <bits/alltypes.h>
 
-typedef struct __dirstream DIR;
-
-#define _DIRENT_HAVE_D_RECLEN
-#define _DIRENT_HAVE_D_OFF
-#define _DIRENT_HAVE_D_TYPE
+#include <bits/dirent.h>
 
-struct dirent {
-       ino_t d_ino;
-       off_t d_off;
-       unsigned short d_reclen;
-       unsigned char d_type;
-       char d_name[256];
-};
+typedef struct __dirstream DIR;
 
 #define d_fileno d_ino
 
index 1499eaaeaccdbcaba8159b4d053ba44b470edf3b..53a27b9de43fa0caada15899a5849d717df572ac 100644 (file)
@@ -41,7 +41,9 @@
 
 #define PIPE_BUF 4096
 #define FILESIZEBITS 64
+#ifndef NAME_MAX
 #define NAME_MAX 255
+#endif
 #define PATH_MAX 4096
 #define NGROUPS_MAX 32
 #define ARG_MAX 131072