Remove some more useless memory allocations - 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 35ca388e9d12db68f3e6a566b051a968489dea8e
 (DIR) parent 9f6d1cfb334d7268608e04379400ce8bbe0429c9
 (HTM) Author: sin <sin@2f30.org>
       Date:   Mon,  8 Feb 2016 16:57:56 +0000
       
       Remove some more useless memory allocations
       
       Diffstat:
         M noice.c                             |      13 +++++--------
       
       1 file changed, 5 insertions(+), 8 deletions(-)
       ---
 (DIR) diff --git a/noice.c b/noice.c
       @@ -341,7 +341,7 @@ nextsel(char **run, char **env)
        char *
        readln(void)
        {
       -        char ln[LINE_MAX];
       +        static char ln[LINE_MAX];
        
                timeout(-1);
                echo();
       @@ -351,7 +351,7 @@ readln(void)
                noecho();
                curs_set(FALSE);
                timeout(1000);
       -        return ln[0] ? strdup(ln) : NULL;
       +        return ln[0] ? ln : NULL;
        }
        
        int
       @@ -567,7 +567,7 @@ redraw(void)
        }
        
        void
       -browse(const char *ipath, const char *ifilter)
       +browse(char *ipath, char *ifilter)
        {
                char newpath[PATH_MAX];
                char *name, *bin, *dir, *tmp, *run, *env;
       @@ -661,13 +661,11 @@ nochange:
                                printprompt("filter: ");
                                tmp = readln();
                                if (tmp == NULL)
       -                                tmp = xstrdup(ifilter);
       +                                tmp = ifilter;
                                /* Check and report regex errors */
                                r = setfilter(&re, tmp);
       -                        if (r != 0) {
       -                                free(tmp);
       +                        if (r != 0)
                                        goto nochange;
       -                        }
                                strlcpy(fltr, tmp, sizeof(fltr));
                                DPRINTF_S(fltr);
                                /* Save current */
       @@ -705,7 +703,6 @@ nochange:
                                        goto nochange;
                                }
                                mkpath(path, tmp, newpath, sizeof(newpath));
       -                        free(tmp);
                                if (canopendir(newpath) == 0) {
                                        printwarn();
                                        goto nochange;