From 6e713da399adb18fb310480b1c29e12918294a48 Mon Sep 17 00:00:00 2001 From: "Rob Swindell (on Windows 11)" <rob@synchro.net> Date: Mon, 4 Mar 2024 18:16:46 -0800 Subject: [PATCH] Add helper functions for returning lib, grp, dir, and sub short names --- src/sbbs3/sbbs.h | 4 ++++ src/sbbs3/scfglib.h | 4 ++++ src/sbbs3/scfglib1.c | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index 70809f2530..a86b644f88 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -773,6 +773,10 @@ public: int dir_op(int dirnum); bool is_valid_subnum(int subnum) { return ::is_valid_subnum(&cfg, subnum); } bool is_valid_dirnum(int dirnum) { return ::is_valid_dirnum(&cfg, dirnum); } + char* dir_name(int dirnum) { return ::dir_name(&cfg, dirnum); } + char* lib_name(int dirnum) { return ::lib_name(&cfg, dirnum); } + char* sub_name(int subnum) { return ::sub_name(&cfg, subnum); } + char* grp_name(int subnum) { return ::grp_name(&cfg, subnum); } void getmsgptrs(void); void putmsgptrs(void); diff --git a/src/sbbs3/scfglib.h b/src/sbbs3/scfglib.h index 6cbfb67796..ccdad5f687 100644 --- a/src/sbbs3/scfglib.h +++ b/src/sbbs3/scfglib.h @@ -65,6 +65,10 @@ int getgurunum(scfg_t*, const char* code); int getchatactset(scfg_t*, const char* name); int getxeditnum(scfg_t*, const char* code); int getshellnum(scfg_t*, const char* code); +char* lib_name(scfg_t*, int dirnum); +char* dir_name(scfg_t*, int dirnum); +char* grp_name(scfg_t*, int subnum); +char* sub_name(scfg_t*, int subnum); DLLEXPORT bool is_valid_dirnum(scfg_t*, int); DLLEXPORT bool is_valid_libnum(scfg_t*, int); diff --git a/src/sbbs3/scfglib1.c b/src/sbbs3/scfglib1.c index 2b14c5ac6b..cda1bbd196 100644 --- a/src/sbbs3/scfglib1.c +++ b/src/sbbs3/scfglib1.c @@ -739,6 +739,40 @@ int getgrpnum(scfg_t* cfg, const char* code) return i; } +char* lib_name(scfg_t* cfg, int dirnum) +{ + if(!is_valid_dirnum(cfg, dirnum)) + return "<invalid dir>"; + int libnum = cfg->dir[dirnum]->lib; + if(!is_valid_libnum(cfg, libnum)) + return "<invalid lib>"; + return cfg->lib[libnum]->sname; +} + +char* dir_name(scfg_t* cfg, int dirnum) +{ + if(!is_valid_dirnum(cfg, dirnum)) + return "<invalid dir>"; + return cfg->dir[dirnum]->sname; +} + +char* grp_name(scfg_t* cfg, int subnum) +{ + if(!is_valid_subnum(cfg, subnum)) + return "<invalid sub>"; + int grpnum = cfg->sub[subnum]->grp; + if(!is_valid_grpnum(cfg, grpnum)) + return "<invalid grp>"; + return cfg->grp[grpnum]->sname; +} + +char* sub_name(scfg_t* cfg, int subnum) +{ + if(!is_valid_subnum(cfg, subnum)) + return "<invalid sub>"; + return cfg->sub[subnum]->sname; +} + int getgrpnum_from_name(scfg_t* cfg, const char* name) { int i; -- GitLab