]> Sergey Matveev's repositories - nnn.git/commitdiff
Reset to initial filter on directory change
authorlostd <lostd@2f30.org>
Fri, 10 Oct 2014 06:50:46 +0000 (09:50 +0300)
committerlostd <lostd@2f30.org>
Fri, 10 Oct 2014 06:50:46 +0000 (09:50 +0300)
noice.c

diff --git a/noice.c b/noice.c
index 2760e77f0ead259c695a79e0280740b39deb41d7..1ac32797fc2c04b52ce6e9c2cdea410459e67f36 100644 (file)
--- a/noice.c
+++ b/noice.c
@@ -450,6 +450,8 @@ nochange:
                                strlcpy(tmp, dir, strlen(dir) + 1);
                                free(path);
                                path = tmp;
+                               free(filter);
+                               filter = strdup(ifilter); /* Reset filter */
                                goto out;
                        }
                }
@@ -490,6 +492,8 @@ nochange:
                        if (S_ISDIR(sb.st_mode)) {
                                free(path);
                                path = pathnew;
+                               free(filter);
+                               filter = strdup(ifilter); /* Reset filter */
                                goto out;
                        }
                        /* Regular file */
@@ -538,6 +542,7 @@ nochange:
                                printmsg("");
                                goto nochange;
                        }
+                       free(filter);
                        filter = tmp;
                        filter_re = re;
                        DPRINTF_S(filter);