Move path[], oldpath[] and fltr[] inside browse() - 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 5629b4911354876c9b88fe668bd4b17382c79f75
 (DIR) parent 5456b8a36a4bac19968ba39ba25d04981a4eee79
 (HTM) Author: sin <sin@2f30.org>
       Date:   Wed, 10 Feb 2016 15:32:41 +0000
       
       Move path[], oldpath[] and fltr[] inside browse()
       
       Diffstat:
         M noice.c                             |      14 +++++++-------
       
       1 file changed, 7 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/noice.c b/noice.c
       @@ -81,8 +81,6 @@ struct entry {
        /* Global context */
        struct entry *dents;
        int ndents, cur;
       -char path[PATH_MAX], oldpath[PATH_MAX];
       -char fltr[LINE_MAX];
        int idle;
        
        /*
       @@ -486,7 +484,7 @@ dentfind(struct entry *dents, int n, char *cwd, char *path)
        }
        
        int
       -populate(void)
       +populate(char *path, char *oldpath, char *fltr)
        {
                regex_t re;
                int r;
       @@ -515,7 +513,7 @@ populate(void)
        }
        
        void
       -redraw(void)
       +redraw(char *path)
        {
                char cwd[PATH_MAX], cwdresolved[PATH_MAX];
                size_t ncols;
       @@ -565,7 +563,8 @@ redraw(void)
        void
        browse(char *ipath, char *ifilter)
        {
       -        char newpath[PATH_MAX];
       +        char path[PATH_MAX], oldpath[PATH_MAX], newpath[PATH_MAX];
       +        char fltr[LINE_MAX];
                char *bin, *dir, *tmp, *run, *env;
                struct stat sb;
                regex_t re;
       @@ -573,15 +572,16 @@ browse(char *ipath, char *ifilter)
        
                strlcpy(path, ipath, sizeof(path));
                strlcpy(fltr, ifilter, sizeof(fltr));
       +        oldpath[0] = '\0';
        begin:
       -        r = populate();
       +        r = populate(path, oldpath, fltr);
                if (r == -1) {
                        printwarn();
                        goto nochange;
                }
        
                for (;;) {
       -                redraw();
       +                redraw(path);
        nochange:
                        switch (nextsel(&run, &env)) {
                        case SEL_QUIT: