]> Sergey Matveev's repositories - nnn.git/commitdiff
An extra column when no indicator
authorArun Prakash Jana <engineerarun@gmail.com>
Sun, 15 Sep 2019 12:44:56 +0000 (18:14 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Sun, 15 Sep 2019 12:44:56 +0000 (18:14 +0530)
src/nnn.c

index 1b5041e036f31104246cb70d6d8ef18b7c88f157..0fca4d78a941dc6e677159ae8bf440bcf105d96b 100644 (file)
--- 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);