nnn

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit a62dbf093a9b39c86702a70c71f0d6307e238237
parent 900513710f3e71d62dd2d9d8635b2ce2210acdd4
Author: Arun Prakash Jana <engineerarun@gmail.com>
Date:   Wed, 25 Aug 2021 00:47:52 +0530

Fix NULL file name handling

Diffstat:
Msrc/nnn.c | 9+++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/nnn.c b/src/nnn.c @@ -4163,7 +4163,7 @@ static void savecurctx(char *path, char *curname, int nextctx) context *ctxr = &g_ctx[nextctx]; /* Save current context */ - if (ndents) + if (curname) xstrsncpy(g_ctx[tmpcfg.curctx].c_name, curname, NAME_MAX + 1); else g_ctx[tmpcfg.curctx].c_name[0] = '\0'; @@ -4345,7 +4345,8 @@ static void set_smart_ctx(int ctx, char *nextpath, char **path, char **lastname, --ctx; /* Deactivate the new context and build from scratch */ g_ctx[ctx].c_cfg.ctxactive = 0; - savecurctx(nextpath, pdents[cur].name, ctx); + DPRINTF_S(nextpath); + savecurctx(nextpath, ndents ? pdents[cur].name : NULL, ctx); *path = g_ctx[ctx].c_path; *lastdir = g_ctx[ctx].c_last; *lastname = g_ctx[ctx].c_name; @@ -6589,7 +6590,7 @@ nochange: if (r >= CTX_MAX) sel = SEL_BACK; else if (r >= 0 && r != cfg.curctx) { - savecurctx(path, pdents[cur].name, r); + savecurctx(path, ndents ? pdents[cur].name : NULL, r); /* Reset the pointers */ path = g_ctx[r].c_path; @@ -6970,7 +6971,7 @@ nochange: r = handle_context_switch(sel); if (r < 0) continue; - savecurctx(path, pdents[cur].name, r); + savecurctx(path, ndents ? pdents[cur].name : NULL, r); /* Reset the pointers */ path = g_ctx[r].c_path;