From 614c9e7b1eecb71c5718c34f1724e8758cbe3c27 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sat, 25 Jan 2020 23:08:55 -0500 Subject: [PATCH] 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. --- arch/generic/bits/dirent.h | 11 +++++++++++ include/dirent.h | 14 ++------------ include/limits.h | 2 ++ 3 files changed, 15 insertions(+), 12 deletions(-) create mode 100644 arch/generic/bits/dirent.h 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 -typedef struct __dirstream DIR; - -#define _DIRENT_HAVE_D_RECLEN -#define _DIRENT_HAVE_D_OFF -#define _DIRENT_HAVE_D_TYPE +#include -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 -- 2.25.1