diff --git a/golded3/gemsgs.cpp b/golded3/gemsgs.cpp index 3283c96..b7eec21 100644 --- a/golded3/gemsgs.cpp +++ b/golded3/gemsgs.cpp @@ -347,6 +347,14 @@ char* TokenXlat(int mode, char* input, GMsg* msg, GMsg* oldmsg, int __origarea) memset(dst, filler, size); dst += size; } + else { + if ((ptr[1] == '{') and (ptr[3] == '}')) + ptr += 3; + memmove(dst, ptr+1, strlen(ptr+1)+1); + } + } + else { + memmove(dst, ptr+1, strlen(ptr+1)+1); } continue; } diff --git a/golded3/gmarea.cpp b/golded3/gmarea.cpp index 39b4f43..0e63f40 100644 --- a/golded3/gmarea.cpp +++ b/golded3/gmarea.cpp @@ -253,10 +253,10 @@ void Area::SaveMsg(int mode, GMsg* msg) { msg->attr.frq0(); } - if(isinternet()) { // Adjust fields for compatibility + if(isinternet() or isecho()) { // Adjust fields for compatibility if(*msg->realby) strcpy(msg->by, msg->realby); - if(*msg->realto) + if(*msg->realto and not isnet()) strcpy(msg->to, msg->realto); }