.Pp
File paths must be NUL-separated ('\\0'). Paths and can be relative to the
current directory or absolute. Invalid paths in the input are ignored. Input
-limit is 65,536 paths or 256 MiB of data.
+limit is 16,384 paths or 256 MiB of data.
.Pp
To list the input stream, start
.Nm
#define DOT_FILTER_LEN 7
#define ASCII_MAX 128
#define EXEC_ARGS_MAX 10
-#define LIST_FILES_MAX (1 << 16)
+#define LIST_FILES_MAX (1 << 14) /* Support listing 16K files */
#define SCROLLOFF 3
#define COLOR_256 256
}
/* Skip self and parent */
-static bool selforparent(const char *path)
+static inline bool selforparent(const char *path)
{
return path[0] == '.' && (path[1] == '\0' || (path[1] == '.' && path[2] == '\0'));
}
if (slash)
*slash = '\0';
- xmktree(tmpdir, TRUE);
+ if (access(tmpdir, F_OK)) /* Create directory if it doesn't exist */
+ xmktree(tmpdir, TRUE);
if (slash)
*slash = '/';
/* Create bookmarks, sessions, mounts and plugins directories */
for (r = 0; r < ELEMENTS(toks); ++r) {
mkpath(cfgpath, toks[r], plgpath);
- if (!xmktree(plgpath, TRUE)) {
+ /* The dirs are created on first run, check if they already exist */
+ if (access(plgpath, F_OK) && !xmktree(plgpath, TRUE)) {
DPRINTF_S(toks[r]);
xerror();
return FALSE;