diff --git a/src/sbbs3/atcodes.cpp b/src/sbbs3/atcodes.cpp index 0a0e8d5aebbc6a03dd229d2194b172018dd06ba8..5f2f9ef9c3d1c72fbfb6e9e73e383d8fe917ee71 100644 --- a/src/sbbs3/atcodes.cpp +++ b/src/sbbs3/atcodes.cpp @@ -655,6 +655,9 @@ const char* sbbs_t::atcode(char* sp, char* str, size_t maxlen, int* pmode, bool safe_snprintf(str, maxlen, "%c", useron.prot); return str; } + if(strcmp(sp, "PROTNAME") == 0) + return protname(useron.prot); + if(strcmp(sp, "SEX") == 0) { safe_snprintf(str, maxlen, "%c", useron.sex); return str; diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index 6acfc4081bdf57b4d5f90dd444175c43ed21493e..41c053cc3babec0be9762ddbd0e00699bc6bdb16 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -748,6 +748,7 @@ public: char cmdstr_output[512]{}; char* ultoac(uint32_t, char*, char sep=','); char* u64toac(uint64_t, char*, char sep=','); + const char* protname(char prot); void subinfo(int subnum); void dirinfo(int dirnum); diff --git a/src/sbbs3/str.cpp b/src/sbbs3/str.cpp index a3b286d47dcab7befeded61003774b9019b5e62b..ac08911d6a475b4aede10cd138a7921e8cda965b 100644 --- a/src/sbbs3/str.cpp +++ b/src/sbbs3/str.cpp @@ -1303,3 +1303,12 @@ char* sbbs_t::u64toac(uint64_t val, char* str, char sep) { return ::u64toac(val, str, sep); } + +const char* sbbs_t::protname(char prot) +{ + for(int i=0; i < cfg.total_prots; ++i) { + if(prot == cfg.prot[i]->mnemonic) + return cfg.prot[i]->name; + } + return text[None]; +} diff --git a/src/sbbs3/useredit.cpp b/src/sbbs3/useredit.cpp index 709bd16796b4d4d59f06a940bf14e19d9b1e9dc4..da042207b96cc036d63d96aa3778a8b5ce0311d2 100644 --- a/src/sbbs3/useredit.cpp +++ b/src/sbbs3/useredit.cpp @@ -788,15 +788,8 @@ void sbbs_t::maindflts(user_t* user) bprintf(text[UserDefaultsQuiet] ,user->misc&QUIET ? text[On] : text[Off]); } - SAFECOPY(str, text[None]); - for(i=0;i<cfg.total_prots;i++) { - if(user->prot==cfg.prot[i]->mnemonic) { - SAFECOPY(str,cfg.prot[i]->name); - break; - } - } add_hotspot('Z'); - bprintf(text[UserDefaultsProtocol],str + bprintf(text[UserDefaultsProtocol], protname(user->prot) ,user->misc&AUTOHANG ? "(Auto-Hangup)":nulstr); add_hotspot('W'); if(cfg.sys_misc&SM_PWEDIT && !(user->rest&FLAG('G')))