commit 46fc9c983c3c62e8c552e70ab9613380b868ae8f
parent c434d8d4bcc5b875bf75ecb80b175c6088e5419c
Author: Sijmen J. Mulder <ik@sjmulder.nl>
Date: Wed, 29 Jan 2020 14:31:07 +0100
Fallbacks for absent NAME_MAX and PATH_MAX (#455)
* Fallbacks for absent NAME_MAX and PATH_MAX
Certainly NAME_MAX isn't guaranteed to exist and on (some versions of?)
Illumos and SmartOS it doesn't, so provide some reasonably accommodating
fallbacks.
* Smaller limits
* Remove now redundant PATH_MAX definition for Hurd
Diffstat:
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/src/nnn.c b/src/nnn.c
@@ -74,9 +74,6 @@
#include <fcntl.h>
#include <libgen.h>
#include <limits.h>
-#ifdef __gnu_hurd__
-#define PATH_MAX 4096
-#endif
#ifndef NOLOCALE
#include <locale.h>
#endif
@@ -118,6 +115,18 @@
#define S_BLKSIZE 512 /* S_BLKSIZE is missing on Android NDK (Termux) */
#endif
+/*
+ * NAME_MAX and PATH_MAX may not exist, e.g. with dirent.c_name being a
+ * flexible array on Illumos. Use somewhat accomodating fallback values.
+ */
+#ifndef NAME_MAX
+#define NAME_MAX 255
+#endif
+
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
#define _ABSSUB(N, M) (((N) <= (M)) ? ((M) - (N)) : ((N) - (M)))
#define DOUBLECLICK_INTERVAL_NS (400000000)
#define XDELAY_INTERVAL_MS (350000) /* 350 ms delay */