From: Sijmen J. Mulder <ik@sjmulder.nl>
Date: Wed, 29 Jan 2020 13:31:07 +0000 (+0100)
Subject: Fallbacks for absent NAME_MAX and PATH_MAX (#455)
X-Git-Tag: v3.0~33
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=46fc9c983c3c62e8c552e70ab9613380b868ae8f;p=nnn.git

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
---

diff --git a/src/nnn.c b/src/nnn.c
index 851293aa..407616c2 100644
--- 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 */