]> Sergey Matveev's repositories - nnn.git/commitdiff
Remove some more useless memory allocations
authorsin <sin@2f30.org>
Mon, 8 Feb 2016 16:57:56 +0000 (16:57 +0000)
committersin <sin@2f30.org>
Mon, 8 Feb 2016 17:00:15 +0000 (17:00 +0000)
noice.c

diff --git a/noice.c b/noice.c
index 2b000adfc14bdde35fe17db91582e09a3d6bb4e7..fa773b0bacf79c1a5e8d43d372ff60a01f922625 100644 (file)
--- 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;