From: blissful Date: Fri, 17 Nov 2023 22:25:16 +0000 (-0500) Subject: restore sort function pointers when restoring cfg X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=703d34938900bf2413fabdc5f2619c922ef5e3e2;p=nnn.git restore sort function pointers when restoring cfg --- diff --git a/src/nnn.c b/src/nnn.c index 0388b23c..b3c188da 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -4308,6 +4308,9 @@ static void savecurctx(char *path, char *curname, int nextctx) tmpcfg.curctx = nextctx; cfg = tmpcfg; + /* Restore the global function pointers alongside the cfg. */ + entrycmpfn = cfg.reverse ? &reventrycmp : &entrycmp; + namecmpfn = cfg.version ? &xstrverscasecmp : &xstricmp; } #ifndef NOSSN @@ -6248,11 +6251,8 @@ static int set_sort_flags(int r) r = 'd'; } - if (cfg.version) - namecmpfn = &xstrverscasecmp; - - if (cfg.reverse) - entrycmpfn = &reventrycmp; + entrycmpfn = cfg.reverse ? &reventrycmp : &entrycmp; + namecmpfn = cfg.version ? &xstrverscasecmp : &xstricmp; } else if (r == CONTROL('T')) { /* Cycling order: clear -> size -> time -> clear */ if (cfg.timeorder) @@ -8018,6 +8018,9 @@ nochange: lastname = g_ctx[r].c_name; cfg = g_ctx[r].c_cfg; + /* Restore the global function pointers alongside the cfg. */ + entrycmpfn = cfg.reverse ? &reventrycmp : &entrycmp; + namecmpfn = cfg.version ? &xstrverscasecmp : &xstricmp; cfg.curctx = r; setdirwatch();