Skip to content
Snippets Groups Projects
Commit 96a65b0f authored by rswindell's avatar rswindell
Browse files

Mod from Kim Lundgren: added support for 24-hour (military) time format for

TIME (aka SYSTIME) @-code.
parent 60e6fb0e
Branches
Tags
No related merge requests found
...@@ -117,7 +117,7 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -117,7 +117,7 @@ char* sbbs_t::atcode(char* sp, char* str)
return(str); return(str);
} }
if(!strcmp(sp,"VER_NOTICE")) if(!strcmp(sp,"VER_NOTICE"))
return(VERSION_NOTICE); return(VERSION_NOTICE);
if(!strcmp(sp,"OS_VER")) if(!strcmp(sp,"OS_VER"))
...@@ -163,7 +163,7 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -163,7 +163,7 @@ char* sbbs_t::atcode(char* sp, char* str)
return(str); return(str);
} }
if(!strcmp(sp,"SOCKET_LIB")) if(!strcmp(sp,"SOCKET_LIB"))
return(socklib_version(str,SOCKLIB_DESC)); return(socklib_version(str,SOCKLIB_DESC));
if(!strcmp(sp,"MSG_LIB")) { if(!strcmp(sp,"MSG_LIB")) {
...@@ -210,7 +210,7 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -210,7 +210,7 @@ char* sbbs_t::atcode(char* sp, char* str)
return(nulstr); return(nulstr);
} }
if(!strcmp(sp,"EMAILADDR")) if(!strcmp(sp,"EMAILADDR"))
return(usermailaddr(&cfg, str return(usermailaddr(&cfg, str
,cfg.inetmail_misc&NMAIL_ALIAS ? useron.alias : useron.name)); ,cfg.inetmail_misc&NMAIL_ALIAS ? useron.alias : useron.name));
...@@ -221,23 +221,27 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -221,23 +221,27 @@ char* sbbs_t::atcode(char* sp, char* str)
now=time(NULL); now=time(NULL);
memset(&tm,0,sizeof(tm)); memset(&tm,0,sizeof(tm));
localtime_r(&now,&tm); localtime_r(&now,&tm);
sprintf(str,"%02d:%02d %s" if(cfg.sys_misc&SM_MILITARY)
,tm.tm_hour==0 ? 12 sprintf(str,"%02d:%02d"
: tm.tm_hour>12 ? tm.tm_hour-12 ,tm.tm_hour,tm.tm_min);
: tm.tm_hour, tm.tm_min, tm.tm_hour>11 ? "pm":"am"); else
sprintf(str,"%02d:%02d %s"
,tm.tm_hour==0 ? 12
: tm.tm_hour>12 ? tm.tm_hour-12
: tm.tm_hour, tm.tm_min, tm.tm_hour>11 ? "pm":"am");
return(str); return(str);
} }
if(!strcmp(sp,"DATE") || !strcmp(sp,"SYSDATE")) { if(!strcmp(sp,"DATE") || !strcmp(sp,"SYSDATE")) {
now=time(NULL); now=time(NULL);
return(unixtodstr(&cfg,now,str)); return(unixtodstr(&cfg,now,str));
} }
if(!strcmp(sp,"TMSG")) { if(!strcmp(sp,"TMSG")) {
l=0; l=0;
for(i=0;i<cfg.total_subs;i++) for(i=0;i<cfg.total_subs;i++)
l+=getposts(&cfg,i); /* l=total posts */ l+=getposts(&cfg,i); /* l=total posts */
sprintf(str,"%lu",l); sprintf(str,"%lu",l);
return(str); return(str);
} }
...@@ -250,13 +254,13 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -250,13 +254,13 @@ char* sbbs_t::atcode(char* sp, char* str)
l=0; l=0;
for(i=0;i<cfg.total_dirs;i++) for(i=0;i<cfg.total_dirs;i++)
l+=getfiles(&cfg,i); l+=getfiles(&cfg,i);
sprintf(str,"%lu",l); sprintf(str,"%lu",l);
return(str); return(str);
} }
if(!strcmp(sp,"TCALLS") || !strcmp(sp,"NUMCALLS")) { if(!strcmp(sp,"TCALLS") || !strcmp(sp,"NUMCALLS")) {
getstats(&cfg,0,&stats); getstats(&cfg,0,&stats);
sprintf(str,"%lu",stats.logons); sprintf(str,"%lu",stats.logons);
return(str); return(str);
} }
...@@ -308,8 +312,8 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -308,8 +312,8 @@ char* sbbs_t::atcode(char* sp, char* str)
i=atoi(sp+4); i=atoi(sp+4);
if(i && i<=cfg.sys_nodes) { if(i && i<=cfg.sys_nodes) {
getnodedat(i,&node,0); getnodedat(i,&node,0);
printnodedat(i,&node); printnodedat(i,&node);
} }
return(nulstr); return(nulstr);
} }
...@@ -327,7 +331,7 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -327,7 +331,7 @@ char* sbbs_t::atcode(char* sp, char* str)
strcpy(str,useron.alias); strcpy(str,useron.alias);
tp=strchr(str,' '); tp=strchr(str,' ');
if(tp) *tp=0; if(tp) *tp=0;
return(str); return(str);
} }
if(!strcmp(sp,"USERNUM")) { if(!strcmp(sp,"USERNUM")) {
...@@ -350,8 +354,8 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -350,8 +354,8 @@ char* sbbs_t::atcode(char* sp, char* str)
char* p=strchr(str,','); char* p=strchr(str,',');
if(p) { if(p) {
*p=0; *p=0;
return(str); return(str);
} }
return(nulstr); return(nulstr);
} }
...@@ -361,14 +365,14 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -361,14 +365,14 @@ char* sbbs_t::atcode(char* sp, char* str)
p++; p++;
if(*p==' ') if(*p==' ')
p++; p++;
return(p); return(p);
} }
return(nulstr); return(nulstr);
} }
if(!strcmp(sp,"CPU")) if(!strcmp(sp,"CPU"))
return(useron.comp); return(useron.comp);
if(!strcmp(sp,"HOST")) if(!strcmp(sp,"HOST"))
return(client_name); return(client_name);
...@@ -398,18 +402,18 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -398,18 +402,18 @@ char* sbbs_t::atcode(char* sp, char* str)
if(!strcmp(sp,"TIMEON") || !strcmp(sp,"TIMEUSED")) { if(!strcmp(sp,"TIMEON") || !strcmp(sp,"TIMEUSED")) {
now=time(NULL); now=time(NULL);
sprintf(str,"%lu",(ulong)(now-logontime)/60L); sprintf(str,"%lu",(ulong)(now-logontime)/60L);
return(str); return(str);
} }
if(!strcmp(sp,"TUSED")) { /* Synchronet only */ if(!strcmp(sp,"TUSED")) { /* Synchronet only */
now=time(NULL); now=time(NULL);
return(sectostr(now-logontime,str)+1); return(sectostr(now-logontime,str)+1);
} }
if(!strcmp(sp,"TLEFT")) { /* Synchronet only */ if(!strcmp(sp,"TLEFT")) { /* Synchronet only */
gettimeleft(); gettimeleft();
return(sectostr(timeleft,str)+1); return(sectostr(timeleft,str)+1);
} }
if(!strcmp(sp,"TPERD")) /* Synchronet only */ if(!strcmp(sp,"TPERD")) /* Synchronet only */
...@@ -425,11 +429,11 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -425,11 +429,11 @@ char* sbbs_t::atcode(char* sp, char* str)
if(!strcmp(sp,"MINLEFT") || !strcmp(sp,"LEFT") || !strcmp(sp,"TIMELEFT")) { if(!strcmp(sp,"MINLEFT") || !strcmp(sp,"LEFT") || !strcmp(sp,"TIMELEFT")) {
gettimeleft(); gettimeleft();
sprintf(str,"%lu",timeleft/60); sprintf(str,"%lu",timeleft/60);
return(str); return(str);
} }
if(!strcmp(sp,"LASTON")) if(!strcmp(sp,"LASTON"))
return(timestr(&useron.laston)); return(timestr(&useron.laston));
if(!strcmp(sp,"LASTDATEON")) if(!strcmp(sp,"LASTDATEON"))
...@@ -441,7 +445,7 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -441,7 +445,7 @@ char* sbbs_t::atcode(char* sp, char* str)
sprintf(str,"%02d:%02d %s" sprintf(str,"%02d:%02d %s"
,tm.tm_hour==0 ? 12 ,tm.tm_hour==0 ? 12
: tm.tm_hour>12 ? tm.tm_hour-12 : tm.tm_hour>12 ? tm.tm_hour-12
: tm.tm_hour, tm.tm_min, tm.tm_hour>11 ? "pm":"am"); : tm.tm_hour, tm.tm_min, tm.tm_hour>11 ? "pm":"am");
return(str); return(str);
} }
...@@ -456,12 +460,12 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -456,12 +460,12 @@ char* sbbs_t::atcode(char* sp, char* str)
} }
if(!strcmp(sp,"FREESPACE")) { if(!strcmp(sp,"FREESPACE")) {
sprintf(str,"%lu",getfreediskspace(cfg.temp_dir,0)); sprintf(str,"%lu",getfreediskspace(cfg.temp_dir,0));
return(str); return(str);
} }
if(!strcmp(sp,"FREESPACEK")) { if(!strcmp(sp,"FREESPACEK")) {
sprintf(str,"%lu",getfreediskspace(cfg.temp_dir,1024)); sprintf(str,"%lu",getfreediskspace(cfg.temp_dir,1024));
return(str); return(str);
} }
...@@ -553,7 +557,7 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -553,7 +557,7 @@ char* sbbs_t::atcode(char* sp, char* str)
l=useron.expire-now; l=useron.expire-now;
if(l<0) if(l<0)
l=0; l=0;
sprintf(str,"%lu",l/(1440L*60L)); sprintf(str,"%lu",l/(1440L*60L));
return(str); return(str);
} }
...@@ -621,16 +625,16 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -621,16 +625,16 @@ char* sbbs_t::atcode(char* sp, char* str)
return(nulstr); return(nulstr);
} }
if(!strcmp(sp,"UP")) if(!strcmp(sp,"UP"))
return("\x1b[A"); return("\x1b[A");
if(!strcmp(sp,"DOWN")) if(!strcmp(sp,"DOWN"))
return("\x1b[B"); return("\x1b[B");
if(!strcmp(sp,"RIGHT")) if(!strcmp(sp,"RIGHT"))
return("\x1b[C"); return("\x1b[C");
if(!strcmp(sp,"LEFT")) if(!strcmp(sp,"LEFT"))
return("\x1b[D"); return("\x1b[D");
if(!strncmp(sp,"UP:",3)) { if(!strncmp(sp,"UP:",3)) {
...@@ -685,7 +689,7 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -685,7 +689,7 @@ char* sbbs_t::atcode(char* sp, char* str)
if(!strcmp(sp,"GN")) { if(!strcmp(sp,"GN")) {
if(SMB_IS_OPEN(&smb)) if(SMB_IS_OPEN(&smb))
ugrp=getusrgrp(smb.subnum); ugrp=getusrgrp(smb.subnum);
else else
ugrp=usrgrps ? curgrp+1 : 0; ugrp=usrgrps ? curgrp+1 : 0;
sprintf(str,"%u",ugrp); sprintf(str,"%u",ugrp);
return(str); return(str);
...@@ -694,7 +698,7 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -694,7 +698,7 @@ char* sbbs_t::atcode(char* sp, char* str)
if(!strcmp(sp,"GL")) { if(!strcmp(sp,"GL")) {
if(SMB_IS_OPEN(&smb)) if(SMB_IS_OPEN(&smb))
ugrp=getusrgrp(smb.subnum); ugrp=getusrgrp(smb.subnum);
else else
ugrp=usrgrps ? curgrp+1 : 0; ugrp=usrgrps ? curgrp+1 : 0;
sprintf(str,"%-4u",ugrp); sprintf(str,"%-4u",ugrp);
return(str); return(str);
...@@ -703,7 +707,7 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -703,7 +707,7 @@ char* sbbs_t::atcode(char* sp, char* str)
if(!strcmp(sp,"GR")) { if(!strcmp(sp,"GR")) {
if(SMB_IS_OPEN(&smb)) if(SMB_IS_OPEN(&smb))
ugrp=getusrgrp(smb.subnum); ugrp=getusrgrp(smb.subnum);
else else
ugrp=usrgrps ? curgrp+1 : 0; ugrp=usrgrps ? curgrp+1 : 0;
sprintf(str,"%4u",ugrp); sprintf(str,"%4u",ugrp);
return(str); return(str);
...@@ -804,7 +808,7 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -804,7 +808,7 @@ char* sbbs_t::atcode(char* sp, char* str)
else if(noaccess_str==text[NoAccessDay]) else if(noaccess_str==text[NoAccessDay])
sprintf(str,noaccess_str,wday[noaccess_val]); sprintf(str,noaccess_str,wday[noaccess_val]);
else else
sprintf(str,noaccess_str,noaccess_val); sprintf(str,noaccess_str,noaccess_val);
return(str); return(str);
} }
...@@ -812,28 +816,28 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -812,28 +816,28 @@ char* sbbs_t::atcode(char* sp, char* str)
tp=strrchr(useron.alias,' '); tp=strrchr(useron.alias,' ');
if(tp) tp++; if(tp) tp++;
else tp=useron.alias; else tp=useron.alias;
return(tp); return(tp);
} }
if(!strcmp(sp,"REAL")) { if(!strcmp(sp,"REAL")) {
strcpy(str,useron.name); strcpy(str,useron.name);
tp=strchr(str,' '); tp=strchr(str,' ');
if(tp) *tp=0; if(tp) *tp=0;
return(str); return(str);
} }
if(!strcmp(sp,"FIRSTREAL")) { if(!strcmp(sp,"FIRSTREAL")) {
strcpy(str,useron.name); strcpy(str,useron.name);
tp=strchr(str,' '); tp=strchr(str,' ');
if(tp) *tp=0; if(tp) *tp=0;
return(str); return(str);
} }
if(!strcmp(sp,"LASTREAL")) { if(!strcmp(sp,"LASTREAL")) {
tp=strrchr(useron.name,' '); tp=strrchr(useron.name,' ');
if(tp) tp++; if(tp) tp++;
else tp=useron.name; else tp=useron.name;
return(tp); return(tp);
} }
if(!strcmp(sp,"MAILW")) { if(!strcmp(sp,"MAILW")) {
...@@ -869,29 +873,29 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -869,29 +873,29 @@ char* sbbs_t::atcode(char* sp, char* str)
if(!strncmp(sp,"STATS.",6)) { if(!strncmp(sp,"STATS.",6)) {
getstats(&cfg,0,&stats); getstats(&cfg,0,&stats);
sp+=6; sp+=6;
if(!strcmp(sp,"LOGONS")) if(!strcmp(sp,"LOGONS"))
sprintf(str,"%lu",stats.logons); sprintf(str,"%lu",stats.logons);
else if(!strcmp(sp,"LTODAY")) else if(!strcmp(sp,"LTODAY"))
sprintf(str,"%lu",stats.ltoday); sprintf(str,"%lu",stats.ltoday);
else if(!strcmp(sp,"TIMEON")) else if(!strcmp(sp,"TIMEON"))
sprintf(str,"%lu",stats.timeon); sprintf(str,"%lu",stats.timeon);
else if(!strcmp(sp,"TTODAY")) else if(!strcmp(sp,"TTODAY"))
sprintf(str,"%lu",stats.ttoday); sprintf(str,"%lu",stats.ttoday);
else if(!strcmp(sp,"ULS")) else if(!strcmp(sp,"ULS"))
sprintf(str,"%lu",stats.uls); sprintf(str,"%lu",stats.uls);
else if(!strcmp(sp,"ULB")) else if(!strcmp(sp,"ULB"))
sprintf(str,"%lu",stats.ulb); sprintf(str,"%lu",stats.ulb);
else if(!strcmp(sp,"DLS")) else if(!strcmp(sp,"DLS"))
sprintf(str,"%lu",stats.dls); sprintf(str,"%lu",stats.dls);
else if(!strcmp(sp,"DLB")) else if(!strcmp(sp,"DLB"))
sprintf(str,"%lu",stats.dlb); sprintf(str,"%lu",stats.dlb);
else if(!strcmp(sp,"PTODAY")) else if(!strcmp(sp,"PTODAY"))
sprintf(str,"%lu",stats.ptoday); sprintf(str,"%lu",stats.ptoday);
else if(!strcmp(sp,"ETODAY")) else if(!strcmp(sp,"ETODAY"))
sprintf(str,"%lu",stats.etoday); sprintf(str,"%lu",stats.etoday);
else if(!strcmp(sp,"FTODAY")) else if(!strcmp(sp,"FTODAY"))
sprintf(str,"%lu",stats.ftoday); sprintf(str,"%lu",stats.ftoday);
else if(!strcmp(sp,"NUSERS")) else if(!strcmp(sp,"NUSERS"))
sprintf(str,"%u",stats.nusers); sprintf(str,"%u",stats.nusers);
return(str); return(str);
} }
...@@ -938,7 +942,7 @@ char* sbbs_t::atcode(char* sp, char* str) ...@@ -938,7 +942,7 @@ char* sbbs_t::atcode(char* sp, char* str)
if(current_msg->hdr.attr&MSG_ANONYMOUS && !SYSOP) if(current_msg->hdr.attr&MSG_ANONYMOUS && !SYSOP)
return(text[Anonymous]); return(text[Anonymous]);
return(current_msg->from); return(current_msg->from);
} }
if(!strcmp(sp,"MSG_FROM_EXT") && current_msg!=NULL) { if(!strcmp(sp,"MSG_FROM_EXT") && current_msg!=NULL) {
if(!(current_msg->hdr.attr&MSG_ANONYMOUS) || SYSOP) if(!(current_msg->hdr.attr&MSG_ANONYMOUS) || SYSOP)
if(current_msg->from_ext!=NULL) if(current_msg->from_ext!=NULL)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment