From 86ee9c7b44d5c6dbe1d157b5ccac186b385d9ead Mon Sep 17 00:00:00 2001 From: "Rob Swindell (on ChromeOS)" <rob@synchro.net> Date: Sun, 26 Jan 2025 20:21:18 -0800 Subject: [PATCH] Replace SUB_HDRMOD sub_t.misc flag with bool cfg_modified No reason waste a (stored) config/settings flag (bit) for this purpose --- src/sbbs3/sbbsdefs.h | 1 - src/sbbs3/scfg/scfgmsg.c | 3 ++- src/sbbs3/scfg/scfgsub.c | 12 ++++++------ src/sbbs3/scfgdefs.h | 1 + src/sbbs3/scfgsave.c | 4 ++-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/sbbs3/sbbsdefs.h b/src/sbbs3/sbbsdefs.h index 9672f683a6..573732f60b 100644 --- a/src/sbbs3/sbbsdefs.h +++ b/src/sbbs3/sbbsdefs.h @@ -240,7 +240,6 @@ #define SUB_EDIT (1 << 28) /* Users can edit message text after posting */ #define SUB_EDITLAST (1 << 29) /* Users can edit last message only */ #define SUB_NOUSERSIG (1 << 30) /* Suppress user signatures */ -#define SUB_HDRMOD (1U << 31) /* Modified sub-board header info (SCFG) */ /* Bit values for lib[x].misc */ #define LIB_DIRS (1 << 0) /* Local directory (sub-directory of lib parent) access */ diff --git a/src/sbbs3/scfg/scfgmsg.c b/src/sbbs3/scfg/scfgmsg.c index 087f5cbb47..7b16545ffd 100644 --- a/src/sbbs3/scfg/scfgmsg.c +++ b/src/sbbs3/scfg/scfgmsg.c @@ -810,7 +810,7 @@ void msgs_cfg() template = cfg.sub[j]; else if (cfg.sub[j] != template) { uifc.changes = 1; - cfg.sub[j]->misc = template->misc | SUB_HDRMOD; + cfg.sub[j]->misc = template->misc; cfg.sub[j]->misc &= ~SUB_TEMPLATE; SAFECOPY(cfg.sub[j]->post_arstr, template->post_arstr); SAFECOPY(cfg.sub[j]->read_arstr, template->read_arstr); @@ -826,6 +826,7 @@ void msgs_cfg() cfg.sub[j]->pmode = template->pmode; cfg.sub[j]->n_pmode = template->n_pmode; cfg.sub[j]->faddr = template->faddr; + cfg.sub[j]->cfg_modified = true; } } } diff --git a/src/sbbs3/scfg/scfgsub.c b/src/sbbs3/scfg/scfgsub.c index c43295cf41..9152d66742 100644 --- a/src/sbbs3/scfg/scfgsub.c +++ b/src/sbbs3/scfg/scfgsub.c @@ -50,7 +50,7 @@ bool new_sub(int new_subnum, int group_num, sub_t* pasted_sub, long misc) break; } } - new_subboard->misc |= SUB_HDRMOD; + new_subboard->cfg_modified = true; if (pasted_sub != NULL) { *new_subboard = *pasted_sub; if (cut_qhub_sub != NULL && (*cut_qhub_sub) == NULL) { @@ -539,7 +539,7 @@ void sub_cfg(int grpnum) uifc.input(WIN_MID | WIN_SAV, 0, 17, "Maximum Number of Messages (0=Unlimited)" , str, 9, K_EDIT | K_NUMBER); cfg.sub[i]->maxmsgs = atoi(str); - cfg.sub[i]->misc |= SUB_HDRMOD; + cfg.sub[i]->cfg_modified = true; break; case 12: sprintf(str, "%u", cfg.sub[i]->maxage); @@ -561,7 +561,7 @@ void sub_cfg(int grpnum) uifc.input(WIN_MID | WIN_SAV, 0, 17, "Maximum Age of Messages (in days)" , str, 5, K_EDIT | K_NUMBER); cfg.sub[i]->maxage = atoi(str); - cfg.sub[i]->misc |= SUB_HDRMOD; + cfg.sub[i]->cfg_modified = true; break; case 13: sprintf(str, "%" PRIu32, cfg.sub[i]->maxcrcs); @@ -582,7 +582,7 @@ void sub_cfg(int grpnum) uifc.input(WIN_MID | WIN_SAV, 0, 17, "Maximum Number of CRCs" , str, 9, K_EDIT | K_NUMBER); cfg.sub[i]->maxcrcs = atol(str); - cfg.sub[i]->misc |= SUB_HDRMOD; + cfg.sub[i]->cfg_modified = true; break; case 14: while (1) { @@ -1585,7 +1585,7 @@ void sub_cfg(int grpnum) uifc.changes = TRUE; cfg.sub[i]->misc |= SUB_HYPER; cfg.sub[i]->misc &= ~SUB_FAST; - cfg.sub[i]->misc |= SUB_HDRMOD; + cfg.sub[i]->cfg_modified = true; break; } if (!n) @@ -1610,7 +1610,7 @@ void sub_cfg(int grpnum) } if (cfg.sub[i]->misc & SUB_HYPER) - cfg.sub[i]->misc |= SUB_HDRMOD; + cfg.sub[i]->cfg_modified = true; if (n == 1 && !(cfg.sub[i]->misc & SUB_FAST)) { uifc.changes = TRUE; cfg.sub[i]->misc |= SUB_FAST; diff --git a/src/sbbs3/scfgdefs.h b/src/sbbs3/scfgdefs.h index d20df71015..bc7baf2880 100644 --- a/src/sbbs3/scfgdefs.h +++ b/src/sbbs3/scfgdefs.h @@ -57,6 +57,7 @@ typedef struct { /* Message sub board info */ int32_t pmode; /* printfile()/putmsg() mode flags */ int32_t n_pmode; /* set of negated pmode flags */ faddr_t faddr; /* FidoNet address */ + bool cfg_modified; /* Update SMB header for this sub */ } sub_t; diff --git a/src/sbbs3/scfgsave.c b/src/sbbs3/scfgsave.c index 6fb3b58ce0..d59e333c58 100644 --- a/src/sbbs3/scfgsave.c +++ b/src/sbbs3/scfgsave.c @@ -411,7 +411,7 @@ bool write_msgs_cfg(scfg_t* cfg) iniSetString(§ion, name, "read_ars", cfg->sub[i]->read_arstr, &ini_style); iniSetString(§ion, name, "post_ars", cfg->sub[i]->post_arstr, &ini_style); iniSetString(§ion, name, "operator_ars", cfg->sub[i]->op_arstr, &ini_style); - iniSetHexInt(§ion, name, "settings", cfg->sub[i]->misc & (~SUB_HDRMOD), &ini_style); /* Don't write mod bit */ + iniSetHexInt(§ion, name, "settings", cfg->sub[i]->misc, &ini_style); /* Don't write mod bit */ iniSetString(§ion, name, "qwknet_tagline", cfg->sub[i]->tagline, &ini_style); iniSetString(§ion, name, "fidonet_origin", cfg->sub[i]->origline, &ini_style); iniSetString(§ion, name, "post_sem", cfg->sub[i]->post_sem, &ini_style); @@ -429,7 +429,7 @@ bool write_msgs_cfg(scfg_t* cfg) strListMerge(&ini, section); free(section); - if (all_msghdr || (cfg->sub[i]->misc & SUB_HDRMOD && !no_msghdr)) { + if (all_msghdr || (cfg->sub[i]->cfg_modified && !no_msghdr)) { if (!cfg->sub[i]->data_dir[0]) SAFEPRINTF(smb.file, "%ssubs", cfg->data_dir); else -- GitLab