From: Arun Prakash Jana <engineerarun@gmail.com>
Date: Sat, 10 Apr 2021 19:31:07 +0000 (+0530)
Subject: Fix #941: on macOS set depth to OPEN_MAX for nftw()
X-Git-Tag: v3.7~2
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=ee04215d9112a6d53c0346beba720af510de102a;p=nnn.git

Fix #941: on macOS set depth to OPEN_MAX for nftw()
---

diff --git a/src/nnn.c b/src/nnn.c
index 967363d3..9ad81ec0 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -863,6 +863,7 @@ static bool test_set_bit(uint_t nr)
 	return TRUE;
 }
 
+#ifndef __APPLE__
 /* Increase the limit on open file descriptors, if possible */
 static rlim_t max_openfds(void)
 {
@@ -888,6 +889,7 @@ static rlim_t max_openfds(void)
 
 	return limit;
 }
+#endif
 
 /*
  * Wrapper to realloc()
@@ -4905,11 +4907,13 @@ static void dentfree(void)
 
 static blkcnt_t dirwalk(char *path, struct stat *psb)
 {
+#ifndef __APPLE__
 	static uint_t open_max;
 
 	/* Increase current open file descriptor limit */
 	if (!open_max)
 		open_max = max_openfds();
+#endif
 
 	ent_blocks = 0;
 	tolastln();
@@ -4917,7 +4921,11 @@ static blkcnt_t dirwalk(char *path, struct stat *psb)
 	addstr(" [^C aborts]\n");
 	refresh();
 
+#ifndef __APPLE__
 	if (nftw(path, nftw_fn, open_max, FTW_MOUNT | FTW_PHYS) < 0) {
+#else
+	if (nftw(path, nftw_fn, OPEN_MAX, FTW_MOUNT | FTW_PHYS) < 0) {
+#endif
 		DPRINTF_S("nftw failed");
 		return cfg.apparentsz ? psb->st_size : psb->st_blocks;
 	}