Can exclude cfg and mb formats at compiletime. Fixed msg-forward.

This commit is contained in:
Jacobo Tarrío 2000-08-23 19:24:19 +00:00
parent b2953adfd0
commit 2fa38e497b
51 changed files with 235 additions and 10 deletions

View File

@ -6,6 +6,12 @@ all: $(TARGET)
include $(TOP)/GNUmakef.def
# Config files formats
include $(TOP)/Config.def
# Messagebase formats
include $(TOP)/MSGBase.def
FOBJPATH=$(TOP)/$(OBJPATH)/$(PLATFORM)/$(TARGET)
FLIBPATH=$(TOP)/$(LIBPATH)/$(PLATFORM)
FDEPPATH=$(TOP)/$(DEPPATH)/$(PLATFORM)

View File

@ -20,6 +20,11 @@ ______________________________________________________________________
+ Filenames in file requests are not converted to uppercase in Linux
any more.
+ Now it is possible to exclude config file formats and messagebase
formats from GoldEd+ at compile-time.
- Fixed the message-forward feature.
______________________________________________________________________
Notes for GoldED+ 1.1.4.5, June 18 2000

View File

@ -364,6 +364,8 @@ void CmfMsgs(GMsg* msg) {
if(CurrArea != OrigArea)
AA->Open();
MakeMsg(MODE_FORWARD, msg);
if(CurrArea != OrigArea)
AA->Close();
AL.SetActiveAreaId(OrigArea);
throw_free(AA->adat);
AA->adat = orig_adat;

View File

@ -322,8 +322,8 @@ bool gareafile::ReadAreafile(word crc, char* parameters) {
const word CRC_AREASBBS = 0xF77C;
const word CRC_CRASHMAIL = 0x7551;
const word CRC_DBRIDGE = 0xD365;
const word CRC_DUTCHIE = 0x0B08;
const word CRC_D_BRIDGE = 0x48DA;
const word CRC_DUTCHIE = 0x0B08;
const word CRC_EZYCOM = 0xC81B;
const word CRC_FASTECHO = 0xF2F0;
const word CRC_FE_ABS = 0x8007;
@ -351,54 +351,120 @@ bool gareafile::ReadAreafile(word crc, char* parameters) {
const word CRC_SQUISH = 0xFCF6;
const word CRC_SUPERBBS = 0x497F;
const word CRC_TERMAIL = 0x147A;
const word CRC_TIMED = 0xE977;
const word CRC_TMAIL = 0xE837;
const word CRC_TIMED = 0xE977;
const word CRC_TOSSCAN = 0x43DD;
const word CRC_WATERGATE = 0x3ADB;
const word CRC_WMAIL = 0xB167;
const word CRC_XMAIL = 0x9D56;
switch(crc) {
#ifndef GCFG_NOXBBS
case CRC_ADEPTXBBS: ReadAdeptXBBS(parameters); break;
#endif
case CRC_AREAS_BBS:
case CRC_AREASBBS: ReadAreasBBS(parameters); break;
#ifndef GCFG_NOCMAIL
case CRC_CRASHMAIL: ReadCrashmail(parameters); break;
#endif
#ifndef GCFG_NODB
case CRC_D_BRIDGE:
case CRC_DBRIDGE: ReadDBridge(parameters); break;
#endif
#ifndef GCFG_NODUTCHIE
case CRC_DUTCHIE: ReadDutchie(parameters); break;
#endif
#ifndef GCFG_NOEZY
case CRC_EZYCOM: ReadEzycom(parameters); break;
#endif
#ifndef GCFG_NOFE
case CRC_FE_ABS:
case CRC_FASTECHO: ReadFastecho(parameters); break;
#endif
#ifndef GCFG_NOFIDOCONF
case CRC_FIDOCONFIG: ReadHPT(parameters); break;
#endif
#ifndef GCFG_NOPCB
case CRC_FIDOPCB: ReadFidoPCB(parameters); break;
#endif
#ifndef GCFG_NOFMAIL
case CRC_FMAIL: ReadFMail(parameters); break;
#endif
#ifndef GCFG_NOFD
case CRC_FRONTDOOR: ReadFrontDoor(parameters); break;
#endif
#ifndef GCFG_NOGECHO
case CRC_GECHO: ReadGEcho(parameters); break;
#endif
#ifndef GCFG_NOIMAIL
case CRC_IMAIL: ReadIMail(parameters); break;
#endif
#ifndef GCFG_NOINTERMAIL
case CRC_INTERMAIL: ReadInterMail(parameters); break;
#endif
#ifndef GCFG_NOLORA
case CRC_LORABBS: ReadLoraBBS(parameters); break;
#endif
#ifndef GCFG_NOMAXIMUS
case CRC_MAXIMUS: ReadMaximus(parameters); break;
#endif
#ifndef GCFG_NOME2
case CRC_ME2: ReadME2(parameters); break;
#endif
#ifndef GCFG_NOOPUS
case CRC_OPUS: ReadOpus(parameters); break;
#endif
#ifndef GCFG_NOPCB
case CRC_PCBOARD: ReadPCBoard(parameters); break;
#endif
#ifndef GCFG_NOPORTAL
case CRC_PORTAL: ReadPortal(parameters); break;
#endif
#ifndef GCFG_NOPROBOARD
case CRC_PROBOARD: ReadProBoard(parameters); break;
#endif
#ifndef GCFG_NOQECHO
case CRC_QECHO: ReadQEcho(parameters); break;
#endif
#ifndef GCFG_NOQFRONT
case CRC_QFRONT: ReadQFront(parameters); break;
#endif
#ifndef GCFG_NOQBBS
case CRC_QUICKBBS: ReadQuickBBS(parameters); break;
#endif
#ifndef GCFG_NORAECHO
case CRC_RA_ECHO:
case CRC_RAECHO: ReadRaEcho(parameters); break;
#endif
#ifndef GCFG_NORA
case CRC_REMOTEACCESS: ReadRemoteAccess(parameters); break;
#endif
#if not defined(GCFG_NOSQSH) or not defined(GCFG_NOPARTOSS)
case CRC_PARTOSS:
case CRC_SQUISH: ReadSquish(parameters); break;
#endif
#ifndef GCFG_NOSBBS
case CRC_SUPERBBS: ReadSuperBBS(parameters); break;
#endif
#ifndef GCFG_NOTERMAIL
case CRC_TMAIL:
case CRC_TERMAIL: ReadTmail(parameters); break;
#endif
#ifndef GCFG_NOTIMED
case CRC_TIMED: ReadTimed(parameters); break;
#endif
#ifndef GCFG_NOTOSSCAN
case CRC_TOSSCAN: ReadTosScan(parameters); break;
#endif
#ifndef GCFG_NOWATERGATE
case CRC_WATERGATE: ReadWtrGte(parameters); break;
#endif
#ifndef GCFG_NOWMAIL
case CRC_WMAIL: ReadWMail(parameters); break;
#endif
#ifndef GCFG_NOXMAIL
case CRC_XMAIL: ReadXMail(parameters); break;
#endif
default: return false;
}

View File

@ -234,31 +234,61 @@ protected:
void adjustpath(char* path);
#ifndef GCFG_NODB
void ReadDB130(char* tag, char* dbpath);
void ReadDB1046(char* file, char* tag);
void ReadDB1047A22(char* file, int reclen, char* tag);
void ReadDB2011(char* file, int reclen, char* tag);
#endif
#ifndef GCFG_NOEZY
void ReadEzycom102(FILE* fp, char* path, char* file, char* options);
void ReadEzycom110(FILE* fp, char* path, char* file, char* options);
#endif
#ifndef GCFG_NOFE
void ReadFastecho142(int fh);
#endif
#ifndef GCFG_NOFMAIL
void ReadFMail092(FILE* fp, char* path, char* file, char* options);
void ReadFMail098(FILE* fp, char* path, char* file, char* options);
void ReadFMail116(FILE* fp, char* path, char* file, char* options);
#endif
#ifndef GCFG_NOFIDOCONF
bool ReadHPTLine(FILE* f, string* s, bool add=false, int state=0);
void ReadHPTFile(char* path, char* file, char* options, char* origin, int group);
#endif
#ifndef GCFG_NOIMAIL
void ReadIMail160(char* options, char* file, char* impath);
void ReadIMail170(char* options, char* file, char* impath);
void ReadIMail185(char* options, char* file, char* impath);
#endif
#ifndef GCFG_NOMAXIMUS
void ReadMaximus3(char* mxpath, char* areafile, char* options);
#endif
#ifndef GCFG_NOQBBS
void ReadQ260(char* qbpath, char* origin, char* options);
void ReadQ276(char* qbpath, char* origin, char* options);
#endif
#ifndef GCFG_NOQECHO
void ReadQEchoFile(char* file, char* options, char* origin);
#endif
#if not defined(GCFG_NOSQSH) or not defined(GCFG_NOPARTOSS)
void ReadSquishFile(char* path, char* file, char* options, char* origin, int group);
#endif
#ifndef GCFG_NOTIMED
void ReadTimedFile(char* path, char* file, char* options, char* origin);
#endif
#ifndef GCFG_NOTERMAIL
void ReadTmailFile(char* file, char* options, char* origin);
#endif
#ifndef GCFG_NOWATERGATE
void ReadWtrGteFile(char* options, FILE* fp);
#endif
#ifndef GCFG_NOXBBS
void ReadAdeptXbbsFile(char* path, char* file, char* options);
#endif
#ifndef GCFG_NOXMAIL
void ReadxMailFile(char* file, char* options);
#endif
public:
@ -295,39 +325,105 @@ public:
void GetAreasBBS(char* name, char* origin, char* options);
void ReadAreasBBS(char* tag);
#ifndef GCFG_NOXBBS
void ReadAdeptXBBS(char* tag);
#endif
#ifndef GCFG_NOCMAIL
void ReadCrashmail(char* tag);
#endif
#ifndef GCFG_NODB
void ReadDBridge(char* tag);
#endif
#ifndef GCFG_NODUTCHIE
void ReadDutchie(char* tag);
#endif
#ifndef GCFG_NOEZY
void ReadEzycom(char* tag);
#endif
#ifndef GCFG_NOFE
void ReadFastecho(char* tag);
#endif
#ifndef GCFG_NOFIDOPCB
void ReadFidoPCB(char* tag);
#endif
#ifndef GCFG_NOFMAIL
void ReadFMail(char* tag);
#endif
#ifndef GCFG_NOFD
void ReadFrontDoor(char* tag);
#endif
#ifndef GCFG_NOGECHO
void ReadGEcho(char* tag);
#endif
#ifndef GCFG_NOFIDOCONF
void ReadHPT(char* tag);
#endif
#ifndef GCFG_NOIMAIL
void ReadIMail(char* tag);
#endif
#ifndef GCFG_NOINTERMAIL
void ReadInterMail(char* tag);
#endif
#ifndef GCFG_NOLORA
void ReadLoraBBS(char* tag);
#endif
#ifndef GCFG_NOMAXIMUS
void ReadMaximus(char* tag);
#endif
#ifndef GCFG_NOME2
void ReadME2(char* tag);
#endif
#ifndef GCFG_NOOPUS
void ReadOpus(char* tag);
#endif
#ifndef GCFG_NOPCB
void ReadPCBoard(char* tag);
#endif
#ifndef GCFG_NOPORTAL
void ReadPortal(char* tag);
#endif
#ifndef GCFG_NOPROBOARD
void ReadProBoard(char* tag);
#endif
#ifndef GCFG_NOQECHO
void ReadQEcho(char* tag);
#endif
#ifndef GCFG_NOQFRONT
void ReadQFront(char* tag);
#endif
#ifndef GCFG_NOQBBS
void ReadQuickBBS(char* tag);
#endif
#ifndef GCFG_NORAECHO
void ReadRaEcho(char* tag);
#endif
#ifndef GCFG_NORA
void ReadRemoteAccess(char* tag);
#endif
#if not defined(GCFG_NOSQSH) or not defined(GCFG_NOPARTOSS)
void ReadSquish(char* tag);
#endif
#ifndef GCFG_NOSBBS
void ReadSuperBBS(char* tag);
#endif
#ifndef GCFG_NOTIMED
void ReadTimed(char* tag);
#endif
#ifndef GCFG_NOTERMAIL
void ReadTmail(char* tag);
#endif
#ifndef GCFG_NOTOSSCAN
void ReadTosScan(char* tag);
#endif
#ifndef GCFG_NOWMAIL
void ReadWMail(char* tag);
#endif
#ifndef GCFG_NOWATERGATE
void ReadWtrGte(char* tag);
#endif
#ifndef GCFG_NOXMAIL
void ReadXMail(char* tag);
#endif
bool ReadAreafile(word crc, char* parameters);
};

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gcrcall.h>
#include <gstrall.h>
#undef GCFG_NOCMAIL
#include <gedacfg.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gmemdbg.h>
#include <gstrall.h>
#undef GCFG_NODB
#include <gedacfg.h>
#include <gs_db.h>

View File

@ -26,6 +26,7 @@
#include <cstdlib>
#include <gstrall.h>
#undef GCFG_NODUTCHIE
#include <gedacfg.h>

View File

@ -26,6 +26,7 @@
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOEZY
#include <gedacfg.h>
#include <gs_ez102.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOEZY
#include <gedacfg.h>
#include <gs_ez110.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOFD
#include <gedacfg.h>
#include <gs_fd.h>

View File

@ -28,6 +28,7 @@
#include <cstdlib>
#include <gfilutil.h>
#include <gmemdbg.h>
#undef GCFG_NOFE
#include <gedacfg.h>
#include <gs_fech6.h>

View File

@ -28,6 +28,7 @@
#include <gmemdbg.h>
#include <gcrcall.h>
#include <gstrall.h>
#undef GCFG_NOFIDOPCB
#include <gedacfg.h>

View File

@ -26,6 +26,7 @@
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOFMAIL
#include <gedacfg.h>
#include <gs_fm092.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gmemdbg.h>
#include <gstrall.h>
#undef GCFG_NOFMAIL
#include <gedacfg.h>
#include <gs_fm10g.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gmemdbg.h>
#include <gstrall.h>
#undef GCFG_NOFMAIL
#include <gedacfg.h>
#include <gs_fm116.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gmemdbg.h>
#include <gstrall.h>
#undef GCFG_NOGECHO
#include <gedacfg.h>
#if defined(ADDRESS)

View File

@ -28,6 +28,7 @@
#include <gcrcall.h>
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOFIDOCONF
#include <gedacfg.h>

View File

@ -26,6 +26,7 @@
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOIMAIL
#include <gedacfg.h>
#include <gs_im160.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gmemdbg.h>
#include <gstrall.h>
#undef GCFG_NOIMAIL
#include <gedacfg.h>
#undef MAXPATH

View File

@ -31,6 +31,7 @@
#include <stdlib.h>
#include <gstrall.h>
#undef GCFG_NOIMAIL
#include <gedacfg.h>
#ifdef HAVE_IM18X

View File

@ -28,6 +28,7 @@
#include <cstdlib>
#include <gmemdbg.h>
#include <gfile.h>
#undef GCFG_NOINTERMAIL
#include <gedacfg.h>
#include <gs_inter.h>

View File

@ -28,6 +28,7 @@
#include <gmemdbg.h>
#include <gfile.h>
#include <gstrall.h>
#undef GCFG_NOLORA
#include <gedacfg.h>
#include <gs_lo240.h>

View File

@ -29,6 +29,7 @@
#include <gfilutil.h>
#include <gmemdbg.h>
#include <gstrall.h>
#undef GCFG_NOMAXIMUS
#include <gedacfg.h>
#include <gs_max3.h>

View File

@ -25,6 +25,7 @@
// ------------------------------------------------------------------
#include <gstrall.h>
#undef GCFG_NOME2
#include <gedacfg.h>

View File

@ -30,6 +30,7 @@
#include <gfilutil.h>
#include <gdirposx.h>
#include <gwildmat.h>
#undef GCFG_NOOPUS
#include <gedacfg.h>
#undef _NORMAL
#include <gs_opus.h> // Structures for Opus 1.1x SYSTEM??.DAT

View File

@ -28,6 +28,7 @@
#include <gmemdbg.h>
#include <gfile.h>
#include <gstrall.h>
#undef GCFG_NOPCB
#include <gedacfg.h>
#include <gs_pcb.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOPORTAL
#include <gedacfg.h>
#include <gs_pop.h>

View File

@ -27,6 +27,7 @@
#include <cstring>
#include <cstdlib>
#include <gmemdbg.h>
#undef GCFG_NOPROBOARD
#include <gedacfg.h>
#include <gs_pb200.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gcrcall.h>
#include <gstrall.h>
#undef GCFG_NOQECHO
#include <gedacfg.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gmemdbg.h>
#include <gstrall.h>
#undef GCFG_NOQFRONT
#include <gedacfg.h>
#include <gs_qfrnt.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOQBBS
#include <gedacfg.h>
#include <gs_qbbs.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gmemdbg.h>
#include <gstrall.h>
#undef GCFG_NORA
#include <gedacfg.h>
#include <gs_ra.h>
#include <gs_ra2.h>

View File

@ -26,6 +26,7 @@
#include <cstdlib>
#include <gstrall.h>
#undef GCFG_NORAECHO
#include <gedacfg.h>
#include <gs_recho.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gcrcall.h>
#include <gstrall.h>
#undef GCFG_NOSQSH
#include <gedacfg.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOSBBS
#include <gedacfg.h>
#include <gs_sbbs.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gcrcall.h>
#include <gstrall.h>
#undef GCFG_NOTIMED
#include <gedacfg.h>
@ -109,30 +110,42 @@ void gareafile::ReadTimedFile(char* path, char* file, char* options, char* origi
if(*jampath == NUL)
PathCopy(jampath, MapPath(val));
break;
#ifndef GCFG_NOSQSH
case CRC_SQUISHCFG:
sprintf(buf2, "-c%s", val);
ReadSquish(buf2);
break;
#endif
#ifndef GCFG_NOFE
case CRC_FASTECHOCFG:
nullastbackslash(val);
ReadFastecho(val);
break;
#endif
#ifndef GCFG_NOGECHO
case CRC_GECHOCFG:
nullastbackslash(val);
ReadGEcho(val);
break;
#endif
#ifndef GCFG_NOIMAIL
case CRC_IMAILCFG:
nullastbackslash(val);
ReadIMail(val);
break;
#endif
#ifndef GCFG_NOXMAIL
case CRC_XMAILCFG:
nullastbackslash(val);
ReadXMail(val);
break;
#endif
#ifndef GCFG_NOFMAIL
case CRC_FMAILCFG:
nullastbackslash(val);
ReadFMail(val);
break;
#endif
case CRC_LASTREAD:
strcpy(fidolastread, val);
break;

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gcrcall.h>
#include <gstrall.h>
#undef GCFG_NOTERMAIL
#include <gedacfg.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOTOSSCAN
#include <gedacfg.h>
#include <gs_fd.h> // Structures for FrontDoor fd.sys+folder.sys / setup.fd+folder.fd
#include <gs_ts.h> // Structures for TosScan areafile.fd

View File

@ -28,6 +28,7 @@
#include <gfilutil.h>
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOWMAIL
#include <gedacfg.h>
#include <gs_wmail.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gstrall.h>
#include <gmemdbg.h>
#undef GCFG_NOWATERGATE
#include <gedacfg.h>
#include <gs_wtr.h>

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gcrcall.h>
#include <gstrall.h>
#undef GCFG_NOXBBS
#include <gedacfg.h>
#ifdef __OS2__

View File

@ -27,6 +27,7 @@
#include <cstdlib>
#include <gcrcall.h>
#include <gstrall.h>
#undef GCFG_NOXMAIL
#include <gedacfg.h>
#include <gs_xmail.h>

View File

@ -256,7 +256,7 @@ void EzycomExit() {
void EzycomInit(const char* msgbasepath, const char* userbasepath, int userno) {
ezycomdata = (EzycData*)throw_calloc(2, sizeof(EzycData));
ezycomdata = (EzycData*)throw_calloc(3, sizeof(EzycData));
ezycomwide = (EzycWide*)throw_calloc(1, sizeof(EzycWide));
ezycomwide->msgbasepath = msgbasepath;

View File

@ -123,7 +123,7 @@ void FidoExit() {
void FidoInit(const char* fidolastread, int fidohwmarks, int fidonullfix, int fidouserno, const char* squishuserpath) {
fidodata = (FidoData*)throw_calloc(2, sizeof(FidoData));
fidodata = (FidoData*)throw_calloc(3, sizeof(FidoData));
fidowide = (FidoWide*)throw_calloc(1, sizeof(FidoWide));
fidowide->fidolastread = fidolastread;

View File

@ -58,7 +58,7 @@ void JamInit(const char* jampath, int harddelete) {
GFTRK("JamInit");
jamdata = (JamData*)throw_calloc(2, sizeof(JamData));
jamdata = (JamData*)throw_calloc(3, sizeof(JamData));
jamwide = (JamWide*)throw_calloc(1, sizeof(JamWide));
jamwide->jampath = jampath;

View File

@ -57,7 +57,7 @@ void PcbExit() {
void PcbInit(const char* path, int userno) {
pcbdata = (PcbData*)throw_calloc(2, sizeof(PcbData));
pcbdata = (PcbData*)throw_calloc(3, sizeof(PcbData));
pcbwide = (PcbWide*)throw_calloc(1, sizeof(PcbWide));
pcbwide->path = path;

View File

@ -52,7 +52,7 @@ void SMBExit() {
void SMBInit() {
smbdata = (SMBData*)throw_calloc(2, sizeof(SMBData));
smbdata = (SMBData*)throw_calloc(3, sizeof(SMBData));
}

View File

@ -74,7 +74,7 @@ void SquishExit() {
void SquishInit(const char* userpath, int userno, int direct, int recycle, int squishscan) {
squishdata = (SqshData*)throw_calloc(2, sizeof(SqshData));
squishdata = (SqshData*)throw_calloc(3, sizeof(SqshData));
squishwide = (SqshWide*)throw_calloc(1, sizeof(SqshWide));
squishwide->userpath = userpath;

View File

@ -131,7 +131,7 @@ void WCatExit() {
void WCatInit(int userno) {
wcatdata = (WCatData*)throw_calloc(2, sizeof(WCatData));
wcatdata = (WCatData*)throw_calloc(3, sizeof(WCatData));
wcatwide = (WCatWide*)throw_calloc(1, sizeof(WCatWide));
wcatwide->userno = userno;

View File

@ -150,7 +150,7 @@ void XbbsExit() {
void XbbsInit(const char* path, int userno) {
xbbsdata = (XbbsData*)throw_calloc(2, sizeof(XbbsData));
xbbsdata = (XbbsData*)throw_calloc(3, sizeof(XbbsData));
xbbswide = (XbbsWide*)throw_calloc(1, sizeof(XbbsWide));
xbbswide->path = path;