From 6feaecafe2f576f3b67c8c67fc22df9115790701 Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana 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 1b5041e..0fca4d7 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);