src/nnn.c | 9 +++++---- diff --git a/src/nnn.c b/src/nnn.c index 46d14fa756a3a15b7eeff26109e881dc0895ecaf..2fbd2c782e041c2cfdd5191e9e7e94ae05f1e6b4 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -334,7 +334,6 @@ static char *home; static blkcnt_t ent_blocks; static blkcnt_t dir_blocks; static ulong num_files; -static uint open_max; static bm bookmark[BM_MAX]; static size_t g_tmpfplen; /* path to tmp files for copy without X, keybind help and file stats */ static uchar g_crc; @@ -2516,6 +2515,7 @@ struct entry *dentp; size_t off = 0, namebuflen = NAMEBUF_INCR; struct stat sb_path, sb; DIR *dirp = opendir(path); + static uint open_max; if (dirp == NULL) return 0; @@ -2531,6 +2531,10 @@ closedir(dirp); printwarn(); return 0; } + + /* Increase current open file descriptor limit */ + if (!open_max) + open_max = max_openfds(); } while ((dp = readdir(dirp)) != NULL) { @@ -4100,9 +4104,6 @@ xerror(); return 1; } } - - /* Increase current open file descriptor limit */ - open_max = max_openfds(); /* Edit text in EDITOR, if opted */ if (getenv(env_cfg[NNN_USE_EDITOR]))