]> Sergey Matveev's repositories - nnn.git/commitdiff
Force accurate regex match
authorArun Prakash Jana <engineerarun@gmail.com>
Sat, 15 Aug 2020 12:02:06 +0000 (17:32 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Sat, 15 Aug 2020 12:02:27 +0000 (17:32 +0530)
nnn.1
src/nnn.c

diff --git a/nnn.1 b/nnn.1
index ec8df82407d3af068b254bb7cb1a8ce37f6ffb9e..bf3cf9d2353f94e69e828132ac69c43cf4e4e667 100644 (file)
--- a/nnn.1
+++ b/nnn.1
@@ -457,7 +457,7 @@ separated by \fI;\fR:
 .Pp
 \fBNNN_ARCHIVE:\fR archive extensions to be handled silently (default: bzip2, (g)zip, tar).
 .Bd -literal
-    export NNN_ARCHIVE="(7z|bz2|gz|tar|tgz|zip)$"
+    export NNN_ARCHIVE="\\\\.(7z|bz2|gz|tar|tgz|zip)$"
 
     NOTE: Non-default formats may require a third-party utility.
 .Ed
index 0b8a778509351af29d694d1efec294694ae4f12c..8a6cb3bf29f52a8bc19e9d364c8229d9a6a91ca1 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -663,7 +663,7 @@ static const char * const patterns[] = {
        "sed -i 's|^\\(\\(.*/\\)\\(.*\\)$\\)|#\\1\\n\\3|' %s",
        "sed 's|^\\([^#/][^/]\\?.*\\)$|%s/\\1|;s|^#\\(/.*\\)$|\\1|' "
                "%s | tr '\\n' '\\0' | xargs -0 -n2 sh -c '%s \"$0\" \"$@\" < /dev/tty'",
-       "(bz|bz2|gz|tar|taz|tbz|tbz2|tgz|z|zip)$",
+       "\\.(bz|bz2|gz|tar|taz|tbz|tbz2|tgz|z|zip)$",
        "sed -i 's|^%s\\(.*\\)$|%s\\1|' %s",
 };
 
@@ -5975,8 +5975,6 @@ nochange:
 
                        /* Get the extension for regext match */
                        tmp = xextension(pent->name, pent->nlen - 1);
-                       if (tmp)
-                               ++tmp;
 #ifdef PCRE
                        if (tmp && !pcre_exec(archive_pcre, NULL, tmp,
                                              pent->nlen - (tmp - pent->name) - 1, 0, 0, NULL, 0)) {