diff options
author | sin <sin@2f30.org> | 2016-02-08 16:57:56 +0000 |
---|---|---|
committer | sin <sin@2f30.org> | 2016-02-08 17:00:15 +0000 |
commit | 35ca388e9d12db68f3e6a566b051a968489dea8e (patch) | |
tree | c6781ce087c9e1c46e1b666cb790811244db1fc3 /noice.c | |
parent | 9f6d1cfb334d7268608e04379400ce8bbe0429c9 (diff) | |
download | noice-35ca388e9d12db68f3e6a566b051a968489dea8e.tar.gz |
Remove some more useless memory allocations
Diffstat (limited to 'noice.c')
-rw-r--r-- | noice.c | 13 |
1 files changed, 5 insertions, 8 deletions
@@ -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; |