From bc2eda0f0d9fbfd9fb424d0602cf6159b03795ba Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Thu, 16 Nov 2017 06:03:43 +0000 Subject: [PATCH] Fixed issues with newly created or imported subs and dirs being re-sorted by index (the sub/dir constructor wasn't setting the initial subnum/dirnum property). --- src/sbbs3/scfg/scfgsub.c | 1 + src/sbbs3/scfg/scfgxfr2.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sbbs3/scfg/scfgsub.c b/src/sbbs3/scfg/scfgsub.c index 8efa81c2d3..c83416deaf 100644 --- a/src/sbbs3/scfg/scfgsub.c +++ b/src/sbbs3/scfg/scfgsub.c @@ -88,6 +88,7 @@ bool new_sub(unsigned new_subnum, unsigned group_num) cfg.qhub[q]->sub[s]++; #endif + new_subboard->subnum = new_subnum; cfg.sub[new_subnum] = new_subboard; cfg.total_subs++; return true; diff --git a/src/sbbs3/scfg/scfgxfr2.c b/src/sbbs3/scfg/scfgxfr2.c index 694e32c27e..efd387faae 100644 --- a/src/sbbs3/scfg/scfgxfr2.c +++ b/src/sbbs3/scfg/scfgxfr2.c @@ -72,6 +72,7 @@ static bool new_dir(unsigned new_dirnum, unsigned libnum) for (unsigned u = cfg.total_dirs; u > new_dirnum; u--) cfg.dir[u] = cfg.dir[u - 1]; + new_directory->dirnum = new_dirnum; cfg.dir[new_dirnum] = new_directory; cfg.total_dirs++; return true; @@ -900,7 +901,7 @@ void xfer_cfg() uifc.changes=1; } fclose(stream); - if(ported) + if(ported && cfg.lib[i]->sort) sort_dirs(i); uifc.pop(0); sprintf(str,"%lu File Areas Imported Successfully (%lu added)",ported, added); -- GitLab