From c92c3d7581eebd0b4c6c87d00cba47a9476f29a2 Mon Sep 17 00:00:00 2001 From: Rob Swindell <rob@synchro.net> Date: Wed, 2 Mar 2022 18:41:24 -0800 Subject: [PATCH] Show auto-generated newsgroup name and Fido area-tags Also reversed the order of newsgroup name and area-tag options for a sub-board. Updated help text too to specify that sub's area-tag can be derived from newsgroup name, if one is specified. --- src/sbbs3/scfg/scfgsub.c | 41 +++++++++++++++++++++++++-------------- src/sbbs3/scfg/scfgxfr2.c | 7 ++++++- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/src/sbbs3/scfg/scfgsub.c b/src/sbbs3/scfg/scfgsub.c index 6adee146fe..9ebc707a74 100644 --- a/src/sbbs3/scfg/scfgsub.c +++ b/src/sbbs3/scfg/scfgsub.c @@ -327,13 +327,23 @@ void sub_cfg(uint grpnum) done=0; while(!done) { n=0; + char area_tag[sizeof(cfg.sub[i]->area_tag) + 2]; + if(cfg.sub[i]->area_tag[0]) + SAFECOPY(area_tag, cfg.sub[i]->area_tag); + else + SAFEPRINTF(area_tag, "[%s]", sub_area_tag(&cfg, cfg.sub[i], tmp, sizeof(tmp))); + char newsgroup_name[sizeof(cfg.sub[i]->newsgroup) + 2]; + if(cfg.sub[i]->newsgroup[0]) + SAFECOPY(newsgroup_name, cfg.sub[i]->newsgroup); + else + SAFEPRINTF(newsgroup_name, "[%s]", sub_newsgroup_name(&cfg, cfg.sub[i], tmp, sizeof(tmp))); sprintf(opt[n++],"%-27.27s%s","Long Name",cfg.sub[i]->lname); sprintf(opt[n++],"%-27.27s%s","Short Name",cfg.sub[i]->sname); sprintf(opt[n++],"%-27.27s%s","QWK Name",cfg.sub[i]->qwkname); sprintf(opt[n++],"%-27.27s%s%s","Internal Code" ,cfg.grp[cfg.sub[i]->grp]->code_prefix, cfg.sub[i]->code_suffix); - sprintf(opt[n++],"%-27.27s%s","FidoNet Area Tag", cfg.sub[i]->area_tag); - sprintf(opt[n++],"%-27.27s%s","Newsgroup Name",cfg.sub[i]->newsgroup); + sprintf(opt[n++],"%-27.27s%s","Newsgroup Name", newsgroup_name); + sprintf(opt[n++],"%-27.27s%s","FidoNet Area Tag", area_tag); sprintf(opt[n++],"%-27.27s%s","Access Requirements" ,cfg.sub[i]->arstr); sprintf(opt[n++],"%-27.27s%s","Reading Requirements" @@ -425,19 +435,6 @@ void sub_cfg(uint grpnum) } break; case 4: - uifc.helpbuf= - "`FidoNet Area Tag:`\n" - "\n" - "This field may be used to specify the FidoNet-style `Echo/Area Tag` for\n" - "this message area. If no tag name is configured here, a tag name will be\n" - "automatically generated from the Sub-board's `Short Name`.\n" - "\n" - "This tag should ~ not ~ contain spaces." - ; - uifc.input(WIN_MID|WIN_SAV, 0, 17, "FidoNet Area Tag" - ,cfg.sub[i]->area_tag, sizeof(cfg.sub[i]->area_tag)-1, K_EDIT|K_UPPER); - break; - case 5: uifc.helpbuf= "`Newsgroup Name:`\n" "\n" @@ -450,6 +447,20 @@ void sub_cfg(uint grpnum) uifc.input(WIN_MID|WIN_SAV,0,17,"" ,cfg.sub[i]->newsgroup,sizeof(cfg.sub[i]->newsgroup)-1,K_EDIT); break; + case 5: + uifc.helpbuf= + "`FidoNet Area Tag:`\n" + "\n" + "This field may be used to specify the FidoNet-style `Echo/Area Tag` for\n" + "this message area. If no tag name is configured here, a tag name will be\n" + "automatically generated from the Sub-board's `Newsgroup Name` (if exists)\n" + "or the Sub-board's `Short Name`.\n" + "\n" + "This tag should ~ not ~ contain spaces." + ; + uifc.input(WIN_MID|WIN_SAV, 0, 17, "FidoNet Area Tag" + ,cfg.sub[i]->area_tag, sizeof(cfg.sub[i]->area_tag)-1, K_EDIT|K_UPPER); + break; case 6: sprintf(str,"%s Access",cfg.sub[i]->sname); getar(str,cfg.sub[i]->arstr); diff --git a/src/sbbs3/scfg/scfgxfr2.c b/src/sbbs3/scfg/scfgxfr2.c index fbcd171cad..820eab3ab3 100644 --- a/src/sbbs3/scfg/scfgxfr2.c +++ b/src/sbbs3/scfg/scfgxfr2.c @@ -1177,11 +1177,16 @@ void dir_cfg(uint libnum) done=0; while(!done) { n=0; + char area_tag[sizeof(cfg.dir[i]->area_tag) + 2]; + if(cfg.dir[i]->area_tag[0]) + SAFECOPY(area_tag, cfg.dir[i]->area_tag); + else + SAFEPRINTF(area_tag, "[%s]", dir_area_tag(&cfg, cfg.dir[i], tmp, sizeof(tmp))); sprintf(opt[n++],"%-27.27s%s","Long Name",cfg.dir[i]->lname); sprintf(opt[n++],"%-27.27s%s","Short Name",cfg.dir[i]->sname); sprintf(opt[n++],"%-27.27s%s%s","Internal Code" ,cfg.lib[cfg.dir[i]->lib]->code_prefix, cfg.dir[i]->code_suffix); - sprintf(opt[n++],"%-27.27s%s","FidoNet Area Tag",cfg.dir[i]->area_tag); + sprintf(opt[n++],"%-27.27s%s","FidoNet Area Tag",area_tag); sprintf(opt[n++],"%-27.27s%s","Access Requirements" ,cfg.dir[i]->arstr); sprintf(opt[n++],"%-27.27s%s","Upload Requirements" -- GitLab