Print the resolved path for cwd - noice - small file browser (mirror / fork from 2f30.org)
 (HTM) git clone git://git.codemadness.org/noice
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit a7152012558006b0f0ffca633c8c90ff4ce9726d
 (DIR) parent 2d87145fa23f582baf9d057a295a007e5c0a873b
 (HTM) Author: sin <sin@2f30.org>
       Date:   Wed,  6 Jan 2016 15:21:41 +0000
       
       Print the resolved path for cwd
       
       Avoids weird things like /etc/.. when displaying cwd.
       
       Also no need for cwd to be on the heap.
       
       Diffstat:
         M noice.c                             |      16 ++++++++++------
       
       1 file changed, 10 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/noice.c b/noice.c
       @@ -595,8 +595,9 @@ populate(void)
        void
        redraw(void)
        {
       +        char cwd[PATH_MAX], cwdresolved[PATH_MAX];
       +        size_t ncols;
                int nlines, odd;
       -        char *cwd;
                int i;
        
                nlines = MIN(LINES - 4, n);
       @@ -615,11 +616,14 @@ redraw(void)
                DPRINTF_S(path);
        
                /* No text wrapping in cwd line */
       -        cwd = xmalloc(COLS * sizeof(char));
       -        strlcpy(cwd, path, COLS * sizeof(char));
       -        cwd[COLS - strlen(CWD) - 1] = '\0';
       -
       -        printw(CWD "%s\n\n", cwd);
       +        ncols = COLS;
       +        if (ncols > PATH_MAX)
       +                ncols = PATH_MAX;
       +        strlcpy(cwd, path, ncols);
       +        cwd[ncols - strlen(CWD) - 1] = '\0';
       +        realpath(cwd, cwdresolved);
       +
       +        printw(CWD "%s\n\n", cwdresolved);
        
                /* Print listing */
                odd = ISODD(nlines);