From 35ca388e9d12db68f3e6a566b051a968489dea8e Mon Sep 17 00:00:00 2001 From: sin Date: Mon, 8 Feb 2016 16:57:56 +0000 Subject: [PATCH] Remove some more useless memory allocations --- noice.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/noice.c b/noice.c index 2b000adf..fa773b0b 100644 --- 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;