diff --git a/README.md b/README.md
index 9b8e1c3..d505a9d 100644
--- a/README.md
+++ b/README.md
@@ -137,7 +137,7 @@ Stripped binary (or script) size and memory usage of `nnn` and some other simila
1M 50496 15328 4076 S 0.2 vifm
1M 72152 12468 7336 S 0.2 mc
70K 16068 4620 2408 S 0.1 ncdu
- 55K 15720 4200 2344 S 0.1 nnn -S
+ 52K 15712 4368 2512 S 0.1 nnn -S
Intrigued? Find out [HOW](https://github.com/jarun/nnn/wiki/performance-factors).
diff --git a/src/nnn.c b/src/nnn.c
index 5e23c6f..a50babf 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -2536,10 +2536,10 @@ static void redraw(char *path)
static void browse(char *ipath)
{
- static char newpath[PATH_MAX] __attribute__ ((aligned));
- static char mark[PATH_MAX] __attribute__ ((aligned));
- static char rundir[PATH_MAX] __attribute__ ((aligned));
- static char runfile[NAME_MAX + 1] __attribute__ ((aligned));
+ char newpath[PATH_MAX] __attribute__ ((aligned));
+ char mark[PATH_MAX] __attribute__ ((aligned));
+ char rundir[PATH_MAX] __attribute__ ((aligned));
+ char runfile[NAME_MAX + 1] __attribute__ ((aligned));
char *path, *lastdir, *lastname;
char *dir, *tmp;
struct stat sb;
@@ -2610,7 +2610,7 @@ begin:
}
#endif
- for (;;) {
+ while (1) {
redraw(path);
nochange:
/* Exit if parent has exited */
@@ -3368,7 +3368,7 @@ nochange:
/* Check if this is a directory */
if (!S_ISREG(dents[cur].mode)) {
- printmsg("not a regular file");
+ printmsg("not regular file");
goto nochange;
}
@@ -3430,9 +3430,6 @@ nochange:
else
tmp = NULL;
spawn(shell, runpath, tmp, path, F_NORMAL | F_SIGINT);
- } else {
- printmsg("unsupported file");
- goto nochange;
}
break;
default: /* SEL_RUNCMD */
@@ -3548,7 +3545,7 @@ static void usage(void)
int main(int argc, char *argv[])
{
- static char cwd[PATH_MAX] __attribute__ ((aligned));
+ char cwd[PATH_MAX] __attribute__ ((aligned));
char *ipath = NULL;
int opt;