Skip to content
Snippets Groups Projects
Commit 97ac3bbf authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Parse/separate forward-to-netmail name from address

Only do the local user notification when appropriate.
Signal the FTN netmail semaphore when appropriate.
parent 6e8fea2c
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #973 passed
...@@ -1389,7 +1389,15 @@ bool sbbs_t::forwardmail(smbmsg_t* msg, const char* to) ...@@ -1389,7 +1389,15 @@ bool sbbs_t::forwardmail(smbmsg_t* msg, const char* to)
msg->idx.to=usernumber; msg->idx.to=usernumber;
} else { } else {
SAFECOPY(touser, to); SAFECOPY(touser, to);
smb_hfield_netaddr(msg, RECIPIENTNETADDR, to, NULL); char* addr = touser;
char* p = strchr(addr, '@');
if(net_type != NET_INTERNET && p != NULL)
addr = p + 1;
smb_hfield_netaddr(msg, RECIPIENTNETADDR, addr, NULL);
if(p != NULL)
*p = '\0';
smb_hfield_str(msg, RECIPIENT, touser);
SAFECOPY(touser, to);
msg->idx.to=0; msg->idx.to=0;
} }
...@@ -1431,18 +1439,23 @@ bool sbbs_t::forwardmail(smbmsg_t* msg, const char* to) ...@@ -1431,18 +1439,23 @@ bool sbbs_t::forwardmail(smbmsg_t* msg, const char* to)
useron.etoday++; useron.etoday++;
putuserrec(&cfg,useron.number,U_ETODAY,5,ultoa(useron.etoday,tmp,10)); putuserrec(&cfg,useron.number,U_ETODAY,5,ultoa(useron.etoday,tmp,10));
for(i=1;i<=cfg.sys_nodes;i++) { /* Tell user, if online */ if(usernumber > 0) {
getnodedat(i,&node,0); for(i=1;i<=cfg.sys_nodes;i++) { /* Tell user, if online */
if(node.useron==usernumber && !(node.misc&NODE_POFF) getnodedat(i,&node,0);
&& (node.status==NODE_INUSE || node.status==NODE_QUIET)) { if(node.useron==usernumber && !(node.misc&NODE_POFF)
SAFEPRINTF2(str,text[EmailNodeMsg],cfg.node_num,useron.alias); && (node.status==NODE_INUSE || node.status==NODE_QUIET)) {
putnmsg(&cfg,i,str); SAFEPRINTF2(str,text[EmailNodeMsg],cfg.node_num,useron.alias);
break; putnmsg(&cfg,i,str);
} break;
} }
if(i>cfg.sys_nodes) { /* User wasn't online, so leave short msg */ }
SAFEPRINTF(str,text[UserSentYouMail],useron.alias); if(i>cfg.sys_nodes) { /* User wasn't online, so leave short msg */
putsmsg(&cfg,usernumber,str); SAFEPRINTF(str,text[UserSentYouMail],useron.alias);
putsmsg(&cfg,usernumber,str);
}
} else {
if(net_type == NET_FIDO && cfg.netmail_sem[0])
ftouch(cmdstr(cfg.netmail_sem, nulstr, nulstr, NULL));
} }
return true; return true;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment