Do not add addressmacros to addressbook

This commit is contained in:
Alexander S. Aganichev 2001-11-03 08:23:37 +00:00
parent 4be936900b
commit 016299ce9b
2 changed files with 32 additions and 0 deletions

View File

@ -12,6 +12,9 @@ ______________________________________________________________________
Notes for GoldED+ 1.1.5, /snapshot/ Notes for GoldED+ 1.1.5, /snapshot/
______________________________________________________________________ ______________________________________________________________________
! GoldED+ will no longer add new entry to addressbook if it is an
addressmacro.
! Updated uulib to the latest version. Few bugs fixed. Unordered ! Updated uulib to the latest version. Few bugs fixed. Unordered
UU encode now should be processed more accurately than with original UU encode now should be processed more accurately than with original
library. library.

View File

@ -777,6 +777,35 @@ void guserbase::update_addressbook(GMsg* msg, bool reverse, bool force) {
if(nlname and strieql(nlname, name)) if(nlname and strieql(nlname, name))
return; return;
// 9. It is an addressmacro
if(not CFG->addressmacro.empty()) {
std::vector<AddrMacro>::iterator n;
for(n=CFG->addressmacro.begin(); n != CFG->addressmacro.end(); n++) {
if(strieql(name, n->name) or strieql(n->name, iaddr))
return;
if(iaddr[0] != NUL) {
INam buf, buf1, buf2;
char *ptr;
if(n->name[0] == '@') {
strcpy(buf, n->name+1);
// UUCP/INTERNET addressing
ptr = strchr(buf, '/');
if(ptr) {
*ptr++ = NUL;
if(strieql(name, buf))
return;
}
}
else if(AA->isinternet()) {
ptr = n->name;
}
ParseInternetAddr(ptr, buf1, buf2);
if(strieql(iaddr, buf2) or strieql(name, buf1))
return;
}
}
}
} }
// Ok, let's add it... // Ok, let's add it...