Crashecho support added, few Mappath fixes, one more range check in editor fixed
This commit is contained in:
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
|
@@ -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++)
|
||||
|
@@ -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)) {
|
||||
|
@@ -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)) {
|
||||
|
@@ -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;
|
||||
|
@@ -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));
|
||||
|
@@ -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));
|
||||
|
@@ -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));
|
||||
|
@@ -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);
|
||||
|
@@ -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)) {
|
||||
|
@@ -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)) {
|
||||
|
@@ -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)) {
|
||||
|
@@ -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");
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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();
|
||||
|
@@ -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();
|
||||
|
@@ -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();
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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");
|
||||
|
@@ -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];
|
||||
|
@@ -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)) {
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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");
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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) {
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user