Crashecho support added, few Mappath fixes, one more range check in editor fixed

This commit is contained in:
Alexander S. Aganichev
2001-05-05 21:41:41 +00:00
parent a7b00c4dc0
commit cf69e9116e
48 changed files with 226 additions and 198 deletions

View File

@@ -45,15 +45,6 @@ gareafile::gareafile() {
squishuserno = 0;
areapath = NULL;
adeptxbbspath = NULL;
jampath = NULL;
squishuserpath = NULL;
hudsonpath = NULL;
goldbasepath = NULL;
pcboardpath = NULL;
ezycom_msgbasepath = NULL;
ezycom_userbasepath = NULL;
fidolastread = NULL;
}
@@ -321,6 +312,7 @@ bool gareafile::ReadAreafile(word crc, char* parameters) {
const word CRC_AREAS_BBS = 0xBCEC;
const word CRC_AREASBBS = 0xF77C;
const word CRC_CRASHMAIL = 0x7551;
const word CRC_CRASHECHO = 0xDDB9;
const word CRC_DBRIDGE = 0xD365;
const word CRC_DUTCHIE = 0x0B08;
const word CRC_D_BRIDGE = 0x48DA;
@@ -348,6 +340,7 @@ bool gareafile::ReadAreafile(word crc, char* parameters) {
const word CRC_RAECHO = 0x701F;
const word CRC_RA_ECHO = 0x4FDF;
const word CRC_REMOTEACCESS = 0xECD0;
const word CRC_SPACETOSS = 0xD2A6;
const word CRC_SQUISH = 0xFCF6;
const word CRC_SUPERBBS = 0x497F;
const word CRC_TERMAIL = 0x147A;
@@ -364,7 +357,8 @@ bool gareafile::ReadAreafile(word crc, char* parameters) {
#endif
case CRC_AREAS_BBS:
case CRC_AREASBBS: ReadAreasBBS(parameters); break;
#ifndef GCFG_NOCMAIL
#if !defined(GCFG_NOCMAIL) || !defined(GCFG_NOCECHO)
case CRC_CRASHECHO:
case CRC_CRASHMAIL: ReadCrashmail(parameters); break;
#endif
#ifndef GCFG_NODB
@@ -446,6 +440,9 @@ bool gareafile::ReadAreafile(word crc, char* parameters) {
#ifndef GCFG_NOSBBS
case CRC_SUPERBBS: ReadSuperBBS(parameters); break;
#endif
#ifndef GCFG_NOSPCT
case CRC_SPACETOSS: ReadSpaceToss(parameters); break;
#endif
#ifndef GCFG_NOTERMAIL
case CRC_TMAIL:
case CRC_TERMAIL: ReadTmail(parameters); break;

View File

@@ -220,12 +220,12 @@ protected:
Path pathprefix;
// Fidoconfig parser functions
#ifndef GCFG_NOFIDOCONF
// Fidoconfig parser functions
void replace_slashes(char **key);
void gettok(char** key, char** val);
#endif
#ifndef GCFG_NOCMAIL
#if !defined(GCFG_NOCMAIL) || !defined(GCFG_NOCECHO)
// Crashmail II parser function
bool jbstrcpy(char *dest, char *src, size_t maxlen, size_t *jbc);
#endif
@@ -315,6 +315,9 @@ public:
int ra2usersbbs;
int squishuserno;
const char *areapath;
const char *pcboardpath;
ftn_addr primary_aka;
ftn_attr attribsnet;
@@ -323,24 +326,13 @@ public:
ftn_attr attribsemail;
ftn_attr attribslocal;
char* areapath;
char* adeptxbbspath;
char* jampath;
char* squishuserpath;
char* hudsonpath;
char* goldbasepath;
char* pcboardpath;
char* ezycom_msgbasepath;
char* ezycom_userbasepath;
char* fidolastread;
void GetAreasBBS(char* name, char* origin, char* options);
void ReadAreasBBS(char* tag);
#ifndef GCFG_NOXBBS
void ReadAdeptXBBS(char* tag);
#endif
#ifndef GCFG_NOCMAIL
#if !defined(GCFG_NOCMAIL) || !defined(GCFG_NOCECHO)
void ReadCrashmail(char* tag);
#endif
#ifndef GCFG_NODB
@@ -415,6 +407,9 @@ public:
#if !defined(GCFG_NOSQSH) || !defined(GCFG_NOPARTOSS)
void ReadSquish(char* tag);
#endif
#ifndef GCFG_NOSPCT
void ReadSpaceToss(char *tag);
#endif
#ifndef GCFG_NOSBBS
void ReadSuperBBS(char* tag);
#endif
@@ -450,6 +445,15 @@ void CfgUsername(char* value);
void ReadEcholist(char* value);
void SetAreaDesc(char* echoid, char* desc);
void CfgAdeptxbbspath(const char *path, bool force = false);
void CfgEzycommsgbase(const char *path, bool force = false);
void CfgEzycomuserbase(const char *path, bool force = false);
void CfgGoldbasepath(const char *path, bool force = false);
void CfgHudsonpath(const char *path, bool force = false);
void CfgJampath(const char *path, bool force = false);
void CfgPcboardpath(const char *path, bool force = false);
void CfgSquishuserpath(const char *path, bool force = false);
void CfgFidolastread(const char *path);
// ------------------------------------------------------------------
// Legacy area types

View File

@@ -21,7 +21,7 @@
// ------------------------------------------------------------------
// $Id$
// ------------------------------------------------------------------
// Read areas from Crashmail II
// Read areas from Crashmail II/CrashEcho
// ------------------------------------------------------------------
#include <cstdlib>
@@ -71,7 +71,7 @@ bool gareafile::jbstrcpy(char *dest, char *src, size_t maxlen, size_t *jbc) {
// ------------------------------------------------------------------
// Read areas from Crashmail (echomail processor)
// Read areas from Crashmail II/CrashEcho (echomail processor)
void gareafile::ReadCrashmail(char* tag) {
@@ -89,8 +89,7 @@ void gareafile::ReadCrashmail(char* tag) {
extractdirname(path, file);
if(*squishuserpath == NUL)
PathCopy(squishuserpath, path);
CfgSquishuserpath(path);
FILE* fp = fsopen(file, "rb", sharemode);
if(fp) {
@@ -117,6 +116,7 @@ void gareafile::ReadCrashmail(char* tag) {
const word CRC_DOMAIN = 0xFFCA;
const word CRC_GROUP = 0x1C9B;
const word CRC_NETMAIL = 0xE42E;
const word CRC_NETMAILDIR = 0x180A;
const word CRC_SYSOP = 0x967F;
const word CRC_UNCONFIRMED = 0x195E;
@@ -144,6 +144,24 @@ void gareafile::ReadCrashmail(char* tag) {
case CRC_DOMAIN:
jbstrcpy(domain, buf, 50, &jbcpos);
break;
#ifndef GCFG_NOCECHO
case CRC_NETMAILDIR:
if(aa.type != 0xff) {
if(not unconfirmed)
AddNewArea(aa);
aa.reset();
}
aa.aka = primary_aka;
aa.type = GMB_NET;
aa.attr = attribsnet;
aa.msgbase = fidomsgtype;
jbstrcpy(path, buf, sizeof(Path), &jbcpos);
aa.setpath(path);
aa.setdesc("CrashEcho Netmail");
aa.setautoid("NETMAIL");
unconfirmed = false;
break;
#endif
case CRC_AREA:
case CRC_NETMAIL:
case CRC_LOCALAREA:
@@ -195,8 +213,7 @@ void gareafile::ReadCrashmail(char* tag) {
if(aa.type == 0xff)
break;
jbstrcpy(path, buf, sizeof(Path), &jbcpos);
strxcpy(buf, path, sizeof(Path));
aa.setpath(MapPath(buf));
aa.setpath(path);
break;
case CRC_DESCRIPTION:
jbstrcpy(tmp, buf, 100, &jbcpos);

View File

@@ -360,8 +360,7 @@ void gareafile::ReadDBridge(char* tag) {
for(; line <= 11; line++)
fgets(buf, 255, fp);
strtrim(buf);
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(buf));
CfgHudsonpath(buf);
// Primary address
for(; line <= 15; line++)

View File

@@ -65,10 +65,8 @@ void gareafile::ReadEzycom102(FILE* fp, char* path, char* file, char* options) {
STRNP2C(constant->sysopname);
STRNP2C(constant->sysopalias);
if(*ezycom_msgbasepath == NUL)
AddBackslash(strcpy(ezycom_msgbasepath, MapPath(config->msgpath)));
if(*ezycom_userbasepath == NUL)
AddBackslash(strcpy(ezycom_userbasepath, MapPath(config->userbasepath)));
CfgEzycommsgbase(config->msgpath);
CfgEzycomuserbase(config->userbasepath);
// Fido netmail directory
if(not strblank(config->netmailpath)) {

View File

@@ -66,10 +66,8 @@ void gareafile::ReadEzycom110(FILE* fp, char* path, char* file, char* options) {
STRNP2C(constant->sysopname);
STRNP2C(constant->sysopalias);
if(*ezycom_msgbasepath == NUL)
AddBackslash(strcpy(ezycom_msgbasepath, MapPath(config->msgpath)));
if(*ezycom_userbasepath == NUL)
AddBackslash(strcpy(ezycom_userbasepath, MapPath(config->userbasepath)));
CfgEzycommsgbase(config->msgpath);
CfgEzycomuserbase(config->userbasepath);
// Fido netmail directory
if(not strblank(config->netmailpath)) {

View File

@@ -93,8 +93,7 @@ void gareafile::ReadFrontDoor(char* tag) {
fread(editor, sizeof(FD_Editor), 1, fp);
fread(shared, sizeof(FD_Shared), 1, fp);
//CfgUsername(shared->user[0].name);
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(editor->qbase));
CfgHudsonpath(editor->qbase);
aa.reset();
aa.aka = shared->aka[0];
aa.type = GMB_NET;

View File

@@ -48,8 +48,7 @@ void gareafile::ReadFastecho11x(int fh) {
//CfgUsername(cfg->sysops[u].name);
// Get Hudson msgbase path
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(cfg->MsgBase));
CfgHudsonpath(cfg->MsgBase);
// Setup aka list
SysAddress* aka = (SysAddress*)throw_calloc(cfg->AkaCnt, sizeof(SysAddress));

View File

@@ -48,8 +48,7 @@ void gareafile::ReadFastecho141(int fh) {
//CfgUsername(cfg->sysops[u].name);
// Get Hudson msgbase path
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(cfg->MsgBase));
CfgHudsonpath(cfg->MsgBase);
// Setup aka list
SysAddress* aka = (SysAddress*)throw_calloc(cfg->AkaCnt, sizeof(SysAddress));

View File

@@ -47,8 +47,7 @@ void gareafile::ReadFastecho142(int fh) {
read(fh, cfg, sizeof(CONFIG6));
// Get Hudson msgbase path
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(cfg->MsgBase));
CfgHudsonpath(cfg->MsgBase);
// Setup aka and origin lists
SysAddress* aka = (SysAddress*)throw_calloc(cfg->AkaCnt, sizeof(SysAddress));

View File

@@ -120,7 +120,7 @@ void gareafile::ReadFidoPCB(char* tag) {
PathCopy(mailpath, val);
break;
case CRC_PCBOARD:
PathCopy(pcboardpath, val);
CfgPcboardpath(val);
break;
case CRC_LOST_MAIL:
PathCopy(lostmailpath, val);

View File

@@ -43,8 +43,7 @@ void gareafile::ReadFMail092(FILE* fp, char* path, char* file, char* options) {
fclose(fp);
// Get Hudson msgbase path
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(cfg->bbsPath));
CfgHudsonpath(cfg->bbsPath);
// Opus-.MSG style netmail
if(not strblank(cfg->netPath)) {

View File

@@ -44,8 +44,7 @@ void gareafile::ReadFMail098(FILE* fp, char* path, char* file, char* options) {
fclose(fp);
// Get Hudson msgbase path
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(cfg->bbsPath));
CfgHudsonpath(cfg->bbsPath);
// .MSG style netmail
if(not strblank(cfg->netPath)) {

View File

@@ -44,8 +44,7 @@ void gareafile::ReadFMail116(FILE* fp, char* path, char* file, char* options) {
fclose(fp);
// Get Hudson msgbase path
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(cfg->bbsPath));
CfgHudsonpath(cfg->bbsPath);
// .MSG style netmail
if(not strblank(cfg->netPath)) {

View File

@@ -102,11 +102,8 @@ void gareafile::ReadGEcho(char* tag) {
//for(n=0; n<USERS; n++)
//CfgUsername(gesetup->username[n]);
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(gesetup->hmbpath));
if(*jampath == NUL)
PathCopy(jampath, MapPath(gesetup->jampath));
CfgHudsonpath(gesetup->hmbpath);
CfgJampath(gesetup->jampath);
int _fidomsgtype = fidomsgtype;
@@ -329,11 +326,6 @@ void gareafile::ReadGEcho(char* tag) {
}
}
// Set the JAM message base path
if(*gesetup->jampath)
PathCopy(jampath, gesetup->jampath);
// --------------------------------------------------------------
MakePathname(file, gepath, "areafile.ge");

View File

@@ -334,18 +334,17 @@ void gareafile::ReadHPTFile(char* path, char* file, char* options, char* origin,
// Get path
gettok(&key, &val);
strxcpy(buf2, key, sizeof(buf2));
// If not pass-through
if(not strieql("Passthrough", buf2)) {
if(not strieql("Passthrough", key)) {
aa.setpath(MapPath(buf2));
aa.setpath(key);
aa.msgbase = fidomsgtype;
aa.groupid = group;
gettok(&key, &val);
while(*key == '-' || strieql(key, "Squish") || strieql(key, "Jam")) {
while((*key == '-') or strieql(key, "Squish") or strieql(key, "Jam")) {
if(strieql(key, "Squish"))
aa.msgbase = GMB_SQUISH;
@@ -455,8 +454,7 @@ void gareafile::ReadHPT(char* tag) {
extractdirname(path, file);
if(*squishuserpath == NUL)
PathCopy(squishuserpath, path);
CfgSquishuserpath(path);
ReadHPTFile(path, file, options, origin, defaultgroup);
}

View File

@@ -52,12 +52,9 @@ void gareafile::ReadIMail160(char* options, char* file, char* impath) {
fread(CF, sizeof(im_config_type), 1, fp);
fclose(fp);
if(*jampath == NUL)
PathCopy(jampath, MapPath(CF->echojam));
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(CF->quickbbs));
CfgJampath(CF->echojam);
CfgHudsonpath(CF->quickbbs);
// Fido netmail
if(not strblank(CF->netmail)) {
aa.reset();

View File

@@ -62,12 +62,9 @@ void gareafile::ReadIMail170(char* options, char* file, char* impath) {
fread(CF, sizeof(im_config_type), 1, fp);
fclose(fp);
if(*jampath == NUL)
PathCopy(jampath, MapPath(CF->echojam));
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(CF->quickbbs));
CfgJampath(CF->echojam);
CfgHudsonpath(CF->quickbbs);
// Fido netmail
if(not strblank(CF->netmail)) {
aa.reset();

View File

@@ -62,12 +62,9 @@ void gareafile::ReadIMail185(char* options, char* file, char* impath) {
fread(CF, sizeof(im_config_type), 1, fp);
fclose(fp);
if(*jampath == NUL)
PathCopy(jampath, MapPath(CF->echojam));
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(CF->quickbbs));
CfgJampath(CF->echojam);
CfgHudsonpath(CF->quickbbs);
// Fido netmail
if(not strblank(CF->netmail)) {
aa.reset();

View File

@@ -75,9 +75,8 @@ void gareafile::ReadInterMail(char* tag) {
if(not memcmp(ctl->fingerprint, "JoHo", 5) and (ctl->sysrev == IM_THISREV)) {
fp.fclose();
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(ctl->e.qbase));
CfgHudsonpath(ctl->e.qbase);
AreaCfg aa;

View File

@@ -76,10 +76,8 @@ void gareafile::ReadLoraBBS(char* tag) {
//CfgUsername(cfg->sysop);
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(cfg->quick_msgpath));
if(*goldbasepath == NUL)
PathCopy(goldbasepath, MapPath(cfg->quick_msgpath));
CfgHudsonpath(cfg->quick_msgpath);
CfgGoldbasepath(cfg->quick_msgpath);
AreaCfg aa;

View File

@@ -59,10 +59,12 @@ void gareafile::ReadMaximus3(char* mxpath, char* areafile, char* options) {
fread(offsets, (uint)heapsz, 1, fp);
fclose(fp);
if(*squishuserpath == NUL)
strcat(PathCopy(squishuserpath, PRM(user_file)), ".bbs");
Path userfile;
strxmerge(userfile, sizeof(Path), PRM(user_file), ".bbs", NULL);
CfgSquishuserpath(userfile);
strcpy(stpcpy(areafile, PRM(marea_name)), ".dat");
MapPath(areafile);
fp = fsopen(areafile, "rb", sharemode);
if(fp) {
@@ -120,14 +122,9 @@ void gareafile::ReadMaximus3(char* mxpath, char* areafile, char* options) {
continue;
}
if(ZSTR(path)[1] != ':') {
Path areapath;
strcpy(stpcpy(areapath, mxpath), ZSTR(path));
aa.setpath(areapath);
}
else {
aa.setpath(ZSTR(path));
}
Path apath;
MakePathname(apath, mxpath, ZSTR(path));
aa.setpath(apath);
aa.aka = CAST(ftn_addr, area->primary);
aa.setdesc(*ZSTR(descript) ? ZSTR(descript) : ZSTR(name));
@@ -236,8 +233,7 @@ void gareafile::ReadMaximus(char* tag) {
MakePathname(areafile, mxpath, "area.dat");
}
if(*squishuserpath == NUL)
PathCopy(squishuserpath, mxpath);
CfgSquishuserpath(mxpath);
if(is_maximus3)
ReadMaximus3(mxpath, areafile, options);

View File

@@ -78,8 +78,7 @@ void gareafile::ReadPCBoard(char* tag) {
if(*_path == NUL)
strcpy(_path, areapath);
if(*pcboardpath == NUL)
strcpy(pcboardpath, _path);
CfgPcboardpath(_path);
gfile fp;
const char* _file = AddPath(_path, "pcboard.dat");

View File

@@ -69,8 +69,7 @@ void gareafile::ReadProBoard(char* tag) {
fread(cfg, sizeof(Config), 1, fp);
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(cfg->msgpath));
CfgHudsonpath(cfg->msgpath);
fclose(fp);
}
@@ -128,15 +127,15 @@ void gareafile::ReadProBoard(char* tag) {
break;
case MSGBASE_SQUISH:
aa.msgbase = GMB_SQUISH;
aa.setpath(MapPath(area->path));
aa.setpath(area->path);
break;
case MSGBASE_SDM:
aa.msgbase = GMB_OPUS;
aa.setpath(MapPath(area->path));
aa.setpath(area->path);
break;
case MSGBASE_JAM:
aa.msgbase = GMB_JAM;
aa.setpath(MapPath(area->path));
aa.setpath(area->path);
break;
}
aa.aka = aka[area->aka];

View File

@@ -63,7 +63,7 @@ void gareafile::ReadQEchoFile(char* file, char* options, char* origin) {
aa.setechoid(ptr);
if((ptr = strtok(NULL, " \t")) != NULL)
if(not strieql("Passthrough", ptr)) {
aa.setpath(MapPath(ptr));
aa.setpath(ptr);
aa.msgbase = GMB_JAM;
if((ptr = strtok(NULL, " \t")) != NULL)
if((*ptr == '*') and ((ptr = strtok(NULL, " \t")) != NULL)) {

View File

@@ -146,8 +146,7 @@ void gareafile::ReadQ276(char* qbpath, char* origin, char* options) {
fread(cfg, sizeof(Q276CfgRecT), 1, fp);
STRNP2C(cfg->MsgPath);
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(cfg->MsgPath));
CfgHudsonpath(cfg->MsgPath);
fclose(fp);
}

View File

@@ -85,8 +85,7 @@ void gareafile::ReadRemoteAccess(char* tag) {
ra2usersbbs = 2;
STRNP2C(config->MsgBasePath);
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(config->MsgBasePath));
CfgHudsonpath(config->MsgBasePath);
}
MakePathname(file, rapath, "messages.ra");

View File

@@ -107,8 +107,7 @@ void gareafile::ReadSquishFile(char* path, char* file, char* options, char* orig
// Get path
getkeyval(&key, &val);
strxcpy(buf2, key, sizeof(buf2));
aa.setpath(MapPath(buf2));
aa.setpath(key);
// If not pass-through
if(not striinc("-0", val)) {
@@ -211,8 +210,7 @@ void gareafile::ReadSquish(char* tag) {
extractdirname(path, file);
if(*squishuserpath == NUL)
PathCopy(squishuserpath, path);
CfgSquishuserpath(path);
ReadSquishFile(path, file, options, origin, defaultgroup);
}

View File

@@ -93,8 +93,7 @@ void gareafile::ReadSuperBBS(char* tag) {
fclose(fp);
STRNP2C(sconfig->MsgBasePath);
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(sconfig->MsgBasePath));
CfgHudsonpath(sconfig->MsgBasePath);
// Is it 1.16 or later?
if(sconfig->VersionNumber >= 0x0110) {

View File

@@ -103,12 +103,10 @@ void gareafile::ReadTimedFile(char* path, char* file, char* options, char* origi
ReadTimedFile(path, buf2, options, origin);
break;
case CRC_HUDSONPATH:
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(val));
CfgHudsonpath(val);
break;
case CRC_JAMLOG:
if(*jampath == NUL)
PathCopy(jampath, MapPath(val));
CfgJampath(val);
break;
#ifndef GCFG_NOSQSH
case CRC_SQUISHCFG:
@@ -147,7 +145,7 @@ void gareafile::ReadTimedFile(char* path, char* file, char* options, char* origi
break;
#endif
case CRC_LASTREAD:
strcpy(fidolastread, val);
CfgFidolastread(val);
break;
case CRC_SQUISHOFFSET:
squishuserno = atoi(val);

View File

@@ -91,8 +91,7 @@ void gareafile::ReadTosScan(char* tag) {
fseek(fp, sizeof(FD_Mailer), SEEK_CUR); // Seek past some data
fread(editor, sizeof(FD_Editor), 1, fp);
fread(shared, sizeof(FD_Shared), 1, fp);
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(editor->qbase));
CfgHudsonpath(editor->qbase);
aa.reset();
aa.type = GMB_NET;
aa.attr = attribsnet;

View File

@@ -56,13 +56,13 @@ void gareafile::ReadWtrGteFile(char* options, FILE* fp) {
ConfigRecord& c = *_tmp;
fread(&c, sizeof(ConfigRecord), 1, fp);
strp2c(c.systemdir); MapPath(c.systemdir);
strp2c(c.systemdir);
CfgJampath(c.systemdir);
MapPath(c.systemdir);
strp2c(c.origins[0]);
strp2c(c.origins[1]);
if(*jampath == NUL)
PathCopy(jampath, c.systemdir);
if(c.fidonetmailtype) {
aa.reset();
aa.msgbase = gettype(c.opusdateformat ? GMB_OPUS : GMB_FTS1, c.fidonetmailtype);

View File

@@ -180,8 +180,7 @@ void gareafile::ReadAdeptXBBS(char* tag) {
strcpy(stpcpy(file, path), cfg);
if(strblank(adeptxbbspath))
strcpy(adeptxbbspath, path);
CfgAdeptxbbspath(path);
ReadAdeptXbbsFile(path, file, options);

View File

@@ -114,8 +114,7 @@ void gareafile::ReadxMailFile(char* file, char* options) {
CfgOrigin(val);
break;
case CRC_MESSAGEBASE:
if(*hudsonpath == NUL)
PathCopy(hudsonpath, MapPath(val));
CfgHudsonpath(val);
break;
}
}