]> Sergey Matveev's repositories - nnn.git/commitdiff
Fix off-by-one
authorKlzXS <klzx+github@klzx.cf>
Fri, 22 Oct 2021 19:06:26 +0000 (21:06 +0200)
committerKlzXS <klzx+github@klzx.cf>
Fri, 22 Oct 2021 19:06:26 +0000 (21:06 +0200)
src/nnn.c

index 8d8cd40434d74949f3f66e0e01eea3c1d5cc42be..53ba1a32888fc77d2c0b69cc65ca22f3d3017ae2 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -5391,12 +5391,12 @@ static bool prompt_run(void)
 
                cnt_J = 0;
                next = cmdline;
-               while (!cnt_j && (next = strstr(next, "%J"))) {
+               while ((next = strstr(next, "%J"))) {
                        ++cnt_J;
 
                        tmplen = xstrsncpy(tmpcmd, cmdline, next - cmdline + 1) - 1;
-                       tmplen += xstrsncpy(tmpcmd + tmplen, "${0} ${@}", sizeof("${0} ${@}"));
-                       xstrsncpy(tmpcmd + tmplen, next + 2, len - (next - cmdline + 2));
+                       tmplen += xstrsncpy(tmpcmd + tmplen, "${0} ${@}", sizeof("${0} ${@}")) - 1;
+                       xstrsncpy(tmpcmd + tmplen, next + 2, len - (next - cmdline + 2) + 1);
 
                        ++next;
                }