src/nnn.c | 12 ++++++------ diff --git a/src/nnn.c b/src/nnn.c index 6783c9d708e4f3975d4bd6b35ecf382abe82042a..359eca85ccc18411f239d541eda457a7ffc03b86 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -3825,10 +3825,10 @@ } static void (*printptr)(const struct entry *ent, uint_t namecols, bool sel) = &printent; -static void savecurctx(settings *curcfg, char *path, char *curname, int r /* next context num */) +static void savecurctx(settings *curcfg, char *path, char *curname, int nextctx) { settings tmpcfg = *curcfg; - context *ctxr = &g_ctx[r]; + context *ctxr = &g_ctx[nextctx]; /* Save current context */ if (ndents) @@ -3852,7 +3852,7 @@ ctxr->c_last[0] = ctxr->c_name[0] = ctxr->c_fltr[0] = ctxr->c_fltr[1] = '\0'; ctxr->c_cfg = tmpcfg; } - tmpcfg.curctx = r; + tmpcfg.curctx = nextctx; *curcfg = tmpcfg; } @@ -4776,13 +4776,13 @@ nextpath = load_input(fd, *path); } if (nextpath) { - if (ctx == 0 || ctx == cfg.curctx + 1) { + if (ctx == 0 || ctx == cfg.curctx + 1) { /* Same context */ xstrsncpy(*lastdir, *path, PATH_MAX); xstrsncpy(*path, nextpath, PATH_MAX); DPRINTF_S(*path); - } else { + } else { /* New context */ r = ctx - 1; - + /* Deactivate the new context and build from scratch */ g_ctx[r].c_cfg.ctxactive = 0; savecurctx(&cfg, nextpath, pdents[cur].name, r); *path = g_ctx[r].c_path;