about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2020-01-25 23:08:55 -0500
committerRich Felker <dalias@aerifal.cx>2020-01-25 23:08:55 -0500
commit614c9e7b1eecb71c5718c34f1724e8758cbe3c27 (patch)
treec2533a1a4a20392851586d52bc8456c2d20b1ebe
parent83350eb17b9cb355e3f08b0340c4f1e8c437fac9 (diff)
downloadmusl-614c9e7b1eecb71c5718c34f1724e8758cbe3c27.tar.gz
musl-614c9e7b1eecb71c5718c34f1724e8758cbe3c27.tar.xz
musl-614c9e7b1eecb71c5718c34f1724e8758cbe3c27.zip
move struct dirent to bits header, allow NAME_MAX to vary
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.
-rw-r--r--arch/generic/bits/dirent.h11
-rw-r--r--include/dirent.h14
-rw-r--r--include/limits.h2
3 files changed, 15 insertions, 12 deletions
diff --git a/arch/generic/bits/dirent.h b/arch/generic/bits/dirent.h
new file mode 100644
index 00000000..c845fe82
--- /dev/null
+++ b/arch/generic/bits/dirent.h
@@ -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];
+};
diff --git a/include/dirent.h b/include/dirent.h
index e0a8fe6a..650ecf64 100644
--- a/include/dirent.h
+++ b/include/dirent.h
@@ -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
 
diff --git a/include/limits.h b/include/limits.h
index 1499eaae..53a27b9d 100644
--- a/include/limits.h
+++ b/include/limits.h
@@ -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