From 6feaecafe2f576f3b67c8c67fc22df9115790701 Mon Sep 17 00:00:00 2001
From: Arun Prakash Jana <engineerarun@gmail.com>
Date: Sun, 15 Sep 2019 18:14:56 +0530
Subject: [PATCH] An extra column when no indicator

---
 src/nnn.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/nnn.c b/src/nnn.c
index 1b5041e0..0fca4d78 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -2332,7 +2332,6 @@ static char *get_lsperms(mode_t mode)
 static void printent(const struct entry *ent, int sel, uint namecols)
 {
 	wchar_t *wstr;
-	unescape(ent->name, namecols, &wstr);
 	char ind = '\0';
 
 	switch (ent->mode & S_IFMT) {
@@ -2360,6 +2359,11 @@ static void printent(const struct entry *ent, int sel, uint namecols)
 		break;
 	}
 
+	if (!ind)
+		++namecols;
+
+	unescape(ent->name, namecols, &wstr);
+
 	/* Directories are always shown on top */
 	resetdircolor(ent->flags);
 
@@ -2390,6 +2394,10 @@ static void printent_long(const struct entry *ent, int sel, uint namecols)
 	permbuf[2] = '0' + (ent->mode & 7);
 	permbuf[3] = '\0';
 
+	/* Add a column if no indicator is needed */
+	if (S_ISREG(ent->mode) && !(ent->mode & 0100))
+		++namecols;
+
 	/* Trim escape chars from name */
 	const char *pname = unescape(ent->name, namecols, NULL);
 
-- 
2.51.0