Skip to content
Snippets Groups Projects
Commit 2e65636d authored by rswindell's avatar rswindell
Browse files

Created smb_netaddr_type() to convert an e-mail address string

(e.g. "user@addr") into an SMB net_type (or NET_NONE for local e-mail).
parent 0b2ce8dc
No related branches found
No related tags found
No related merge requests found
......@@ -205,6 +205,7 @@ SMBEXPORT ushort SMBCALL smb_hfieldtypelookup(const char*);
SMBEXPORT char* SMBCALL smb_dfieldtype(ushort type);
SMBEXPORT char* SMBCALL smb_faddrtoa(fidoaddr_t* addr, char* outstr);
SMBEXPORT char* SMBCALL smb_netaddr(net_t* net);
SMBEXPORT ushort SMBCALL smb_netaddr_type(const char* str);
SMBEXPORT char* SMBCALL smb_zonestr(short zone, char* outstr);
SMBEXPORT char* SMBCALL smb_hashsource(smbmsg_t* msg, int source);
SMBEXPORT char* SMBCALL smb_hashsourcetype(uchar type);
......
......@@ -261,3 +261,30 @@ char* SMBCALL smb_netaddr(net_t* net)
return(smb_faddrtoa((fidoaddr_t*)net->addr,NULL));
return(net->addr);
}
/****************************************************************************/
/* Returns net_type for passing e-mail address (i.e. "user@addr") */
/****************************************************************************/
ushort SMBCALL smb_netaddr_type(const char* str)
{
char* p;
char* tp;
if((p=strchr(str,'@'))==NULL)
return(NET_NONE);
p++;
if(isalpha(*p) && strchr(p,'.')==NULL)
return(NET_QWK);
for(tp=p;*tp;tp++) {
if(!isdigit(*tp) && *tp!=':' && *tp!='/' && *tp!='.')
break;
}
if(isdigit(*p) && *tp)
return(NET_FIDO);
if(isalnum(*p))
return(NET_INTERNET);
return(NET_UNKNOWN);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment