diff --git a/ChangeLog b/ChangeLog index 19a1f6c4..f48a1acb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4137,6 +4137,9 @@ v0.33.18 27-Jul-2001 Added setup items for the menu Display colors. Added a no suid switch to the menu for doors. Added setup for *.msg directory in menu 1.3. + When changing the number of newfiles groups, the newfiles + reports database is converted on the fly. + All path variables now have a length of PATH_MAX. mbcico: Renamed sendfile function in zmsend.c to sendzfile to prevent a diff --git a/mbsetup/m_fido.c b/mbsetup/m_fido.c index 0128a4e6..fc180cdb 100644 --- a/mbsetup/m_fido.c +++ b/mbsetup/m_fido.c @@ -2,7 +2,7 @@ * * File ..................: setup/m_fido.c * Purpose ...............: Setup Fidonet structure. - * Last modification date : 13-Jul-2001 + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -53,12 +53,13 @@ int FidoUpdated = 0; int CountFidonet(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/fidonet.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); fidonethdr.hdrsize = sizeof(fidonethdr); fidonethdr.recsize = sizeof(fidonet); fwrite(&fidonethdr, sizeof(fidonethdr), 1, fil); @@ -108,10 +109,11 @@ int CountFidonet(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenFidonet(void); int OpenFidonet(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/fidonet.data", getenv("MBSE_ROOT")); @@ -125,9 +127,10 @@ int OpenFidonet(void) * database must always be updated. */ oldsize = fidonethdr.recsize; - if (oldsize != sizeof(fidonet)) + if (oldsize != sizeof(fidonet)) { FidoUpdated = 1; - else + Syslog('+', "Updated %s, format changed"); + } else FidoUpdated = 0; fidonethdr.hdrsize = sizeof(fidonethdr); fidonethdr.recsize = sizeof(fidonet); @@ -155,9 +158,10 @@ int OpenFidonet(void) -void CloseFidonet(void) +void CloseFidonet(int); +void CloseFidonet(int force) { - char fin[81], fout[81], temp[10]; + char fin[PATH_MAX], fout[PATH_MAX], temp[10]; FILE *fi, *fo; st_list *fid = NULL, *tmp; @@ -165,7 +169,7 @@ void CloseFidonet(void) sprintf(fout,"%s/etc/fidonet.temp", getenv("MBSE_ROOT")); if (FidoUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -203,7 +207,7 @@ void CloseFidonet(void) int AppendFidonet(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/fidonet.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -224,7 +228,7 @@ int AppendFidonet(void) int EditFidoRec(int Area) { FILE *fil; - char mfile[81], *temp; + char mfile[PATH_MAX], *temp; long offset; int i, j = 0; unsigned long crc, crc1; @@ -375,7 +379,7 @@ void EditFidonet(void) int records, i, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -434,7 +438,7 @@ void EditFidonet(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseFidonet(); + CloseFidonet(FALSE); return; } @@ -455,9 +459,18 @@ void EditFidonet(void) +void InitFidonetdb(void) +{ + CountFidonet(); + OpenFidonet(); + CloseFidonet(TRUE); +} + + + void gold_akamatch(FILE *fp) { - char temp[81]; + char temp[PATH_MAX]; FILE *fido; faddr *want; int i; @@ -510,7 +523,7 @@ void gold_akamatch(FILE *fp) int fido_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *fido; int i, j; diff --git a/mbsetup/m_fido.h b/mbsetup/m_fido.h index 06f4119e..9c652edd 100644 --- a/mbsetup/m_fido.h +++ b/mbsetup/m_fido.h @@ -4,6 +4,7 @@ int CountFidonet(void); void EditFidonet(void); +void InitFidonetdb(void); void gold_akamatch(FILE *); int fido_doc(FILE *, FILE *, int); diff --git a/mbsetup/m_global.c b/mbsetup/m_global.c index 062cb16e..9cc20e21 100644 --- a/mbsetup/m_global.c +++ b/mbsetup/m_global.c @@ -40,6 +40,7 @@ #include "m_node.h" #include "m_marea.h" #include "m_ticarea.h" +#include "m_new.h" #include "m_global.h" @@ -1082,7 +1083,12 @@ void e_newfiles(void) case 1: E_PTH(7,16,64, CFG.ftp_base, "The ^FTP home^ directory to strip of the real directory") case 2: E_INT(8,16, CFG.newdays, "Add files younger than this in newfiles report.") case 3: E_SEC(9,16, CFG.security, "1.14 NEWFILES REPORTS SECURITY", s_newfiles) - case 4: E_INT(10,16, CFG.new_groups, "The maximum of ^newfiles^ groups in the newfiles database") + case 4: CFG.new_groups = edit_int(10, 16, CFG.new_groups, + (char *)"The maximum of ^newfiles^ groups in the newfiles database"); + if (OpenNewfiles() == 0) + CloseNewfiles(TRUE); + working(0, 0, 0); + break; } }; } diff --git a/mbsetup/m_hatch.c b/mbsetup/m_hatch.c index ef990f1e..e1e8fee1 100644 --- a/mbsetup/m_hatch.c +++ b/mbsetup/m_hatch.c @@ -2,10 +2,10 @@ * * File ..................: m_hatch.c * Purpose ...............: Hatch Setup - * Last modification date : 18-Mar-2000 + * Last modification date : 19-Oct-2001 * ***************************************************************************** - * Copyright (C) 1997-2000 + * Copyright (C) 1997-2001 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -63,12 +63,13 @@ char *Month[] = {(char *)"1", (char *)"2", (char *)"3", (char *)"4", int CountHatch(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/hatch.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); hatchhdr.hdrsize = sizeof(hatchhdr); hatchhdr.recsize = sizeof(hatch); hatchhdr.lastupd = time(NULL); @@ -94,10 +95,11 @@ int CountHatch(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenHatch(void); int OpenHatch(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; int FieldPatch = FALSE; @@ -114,6 +116,7 @@ int OpenHatch(void) oldsize = hatchhdr.recsize; if (oldsize != sizeof(hatch)) { HatchUpdated = 1; + Syslog('+', "Updated %s, format changed", fnin); if ((oldsize + 8) == sizeof(hatch)) { FieldPatch = TRUE; Syslog('?', "Hatch: performing FieldPatch"); @@ -149,9 +152,10 @@ int OpenHatch(void) -void CloseHatch(void) +void CloseHatch(int); +void CloseHatch(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; st_list *hat = NULL, *tmp; @@ -159,7 +163,7 @@ void CloseHatch(void) sprintf(fout,"%s/etc/hatch.temp", getenv("MBSE_ROOT")); if (HatchUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -194,7 +198,7 @@ void CloseHatch(void) int AppendHatch(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int i; sprintf(ffile, "%s/etc/hatch.temp", getenv("MBSE_ROOT")); @@ -324,7 +328,7 @@ void EditDays(void) int EditHatchRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; static char *tmp = NULL; long offset; unsigned long crc, crc1; @@ -450,7 +454,7 @@ void EditHatch(void) int records, i, o, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -513,7 +517,7 @@ void EditHatch(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseHatch(); + CloseHatch(FALSE); return; } @@ -542,9 +546,18 @@ void EditHatch(void) +void InitHatch(void) +{ + CountHatch(); + OpenHatch(); + CloseHatch(TRUE); +} + + + int tic_hatch_doc(FILE *fp, FILE *toc, int page) { - char temp[81], *tmp = NULL; + char temp[PATH_MAX], *tmp = NULL; FILE *no; int i, j, All; diff --git a/mbsetup/m_hatch.h b/mbsetup/m_hatch.h index aa0f35f8..8b526429 100644 --- a/mbsetup/m_hatch.h +++ b/mbsetup/m_hatch.h @@ -4,6 +4,7 @@ int CountHatch(void); void EditHatch(void); +void InitHatch(void); int tic_hatch_doc(FILE *, FILE *, int); #endif diff --git a/mbsetup/m_lang.c b/mbsetup/m_lang.c index 23025572..70bcd606 100644 --- a/mbsetup/m_lang.c +++ b/mbsetup/m_lang.c @@ -2,7 +2,7 @@ * * File ..................: setup/m_language.c * Purpose ...............: Setup Languages. - * Last modification date : 25-Jul-2001 + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -53,12 +53,13 @@ int LangUpdated = 0; int CountLanguage(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/language.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); langhdr.hdrsize = sizeof(langhdr); langhdr.recsize = sizeof(lang); fwrite(&langhdr, sizeof(langhdr), 1, fil); @@ -106,6 +107,16 @@ int CountLanguage(void) lang.Available = TRUE; fwrite(&lang, sizeof(lang), 1, fil); + memset(&lang, 0, sizeof(lang)); + sprintf(lang.Name, "Galego"); + sprintf(lang.LangKey, "G"); + sprintf(lang.MenuPath, "%s/galego/menus", getenv("MBSE_ROOT")); + sprintf(lang.TextPath, "%s/galego/txtfiles", getenv("MBSE_ROOT")); + sprintf(lang.MacroPath, "%s/galego/macro", getenv("MBSE_ROOT")); + sprintf(lang.Filename, "galego.lang"); + lang.Available = TRUE; + fwrite(&lang, sizeof(lang), 1, fil); + fclose(fil); return 2; } else @@ -127,10 +138,11 @@ int CountLanguage(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenLanguage(void); int OpenLanguage(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/language.data", getenv("MBSE_ROOT")); @@ -144,9 +156,10 @@ int OpenLanguage(void) * database must always be updated. */ oldsize = langhdr.recsize; - if (oldsize != sizeof(lang)) + if (oldsize != sizeof(lang)) { LangUpdated = 1; - else + Syslog('+', "Updated %s, format changed", fnin); + } else LangUpdated = 0; langhdr.hdrsize = sizeof(langhdr); langhdr.recsize = sizeof(lang); @@ -174,9 +187,10 @@ int OpenLanguage(void) -void CloseLanguage(void) +void CloseLanguage(int); +void CloseLanguage(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; st_list *lan = NULL, *tmp; @@ -184,7 +198,7 @@ void CloseLanguage(void) sprintf(fout,"%s/etc/language.temp", getenv("MBSE_ROOT")); if (LangUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -219,7 +233,7 @@ void CloseLanguage(void) int AppendLanguage(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/language.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -260,7 +274,7 @@ void s_lang(void) int EditLangRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; int j; unsigned long crc, crc1; @@ -343,7 +357,7 @@ void EditLanguage(void) int records, i, x; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -397,7 +411,7 @@ void EditLanguage(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseLanguage(); + CloseLanguage(FALSE); return; } @@ -418,13 +432,22 @@ void EditLanguage(void) +void InitLanguage(void) +{ + CountLanguage(); + OpenLanguage(); + CloseLanguage(TRUE); +} + + + int PickLanguage(char *nr) { int Lang = '\0'; int records, i, x; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; @@ -485,7 +508,7 @@ int PickLanguage(char *nr) int bbs_lang_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *no; int j; diff --git a/mbsetup/m_lang.h b/mbsetup/m_lang.h index 64654c33..9b0b6237 100644 --- a/mbsetup/m_lang.h +++ b/mbsetup/m_lang.h @@ -4,6 +4,7 @@ int CountLanguage(void); void EditLanguage(void); +void InitLanguage(void); int PickLanguage(char *); int bbs_lang_doc(FILE *, FILE *, int); diff --git a/mbsetup/m_limits.c b/mbsetup/m_limits.c index b4739056..8f85f4e5 100644 --- a/mbsetup/m_limits.c +++ b/mbsetup/m_limits.c @@ -2,7 +2,7 @@ * * File ..................: setup/m_limits.c * Purpose ...............: Setup Limits. - * Last modification date : 30-Sep-2001 + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -53,12 +53,13 @@ int LimUpdated = 0; int CountLimits(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/limits.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); LIMIThdr.hdrsize = sizeof(LIMIThdr); LIMIThdr.recsize = sizeof(LIMIT); fwrite(&LIMIThdr, sizeof(LIMIThdr), 1, fil); @@ -147,10 +148,11 @@ int CountLimits(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenLimits(void); int OpenLimits(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/limits.data", getenv("MBSE_ROOT")); @@ -164,9 +166,10 @@ int OpenLimits(void) * database must always be updated. */ oldsize = LIMIThdr.recsize; - if (oldsize != sizeof(LIMIT)) + if (oldsize != sizeof(LIMIT)) { LimUpdated = 1; - else + Syslog('+', "Updated %s, format changed"); + } else LimUpdated = 0; LIMIThdr.hdrsize = sizeof(LIMIThdr); LIMIThdr.recsize = sizeof(LIMIT); @@ -194,9 +197,10 @@ int OpenLimits(void) -void CloseLimits(void) +void CloseLimits(int); +void CloseLimits(int force) { - char fin[81], fout[81], temp[20]; + char fin[PATH_MAX], fout[PATH_MAX], temp[20]; FILE *fi, *fo; st_list *lim = NULL, *tmp; @@ -204,7 +208,7 @@ void CloseLimits(void) sprintf(fout,"%s/etc/limits.temp", getenv("MBSE_ROOT")); if (LimUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -241,7 +245,7 @@ void CloseLimits(void) int AppendLimits(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/limits.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -262,7 +266,7 @@ int AppendLimits(void) int EditLimRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; int j; unsigned long crc, crc1; @@ -351,7 +355,7 @@ void EditLimits(void) int records, i, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -409,7 +413,7 @@ void EditLimits(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseLimits(); + CloseLimits(FALSE); return; } @@ -430,13 +434,22 @@ void EditLimits(void) +void InitLimits(void) +{ + CountLimits(); + OpenLimits(); + CloseLimits(TRUE); +} + + + char *PickLimits(int nr) { static char Lim[21] = ""; int records, i, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; @@ -502,7 +515,7 @@ char *PickLimits(int nr) int bbs_limits_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *no; sprintf(temp, "%s/etc/limits.data", getenv("MBSE_ROOT")); @@ -531,7 +544,7 @@ int bbs_limits_doc(FILE *fp, FILE *toc, int page) int limit_users_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *no, *us; int line = 0, j; diff --git a/mbsetup/m_limits.h b/mbsetup/m_limits.h index ddd54c5b..ca2b2678 100644 --- a/mbsetup/m_limits.h +++ b/mbsetup/m_limits.h @@ -4,6 +4,7 @@ int CountLimits(void); void EditLimits(void); +void InitLimits(void); char *PickLimits(int); int bbs_limits_doc(FILE *, FILE *, int); int limit_users_doc(FILE *, FILE *, int); diff --git a/mbsetup/m_magic.c b/mbsetup/m_magic.c index f5df63a8..5cf9d74e 100644 --- a/mbsetup/m_magic.c +++ b/mbsetup/m_magic.c @@ -2,10 +2,10 @@ * * File ..................: setup/m_magic.c * Purpose ...............: Edit Magics - * Last modification date : 18-Mar-2000 + * Last modification date : 19-Oct-2001 * ***************************************************************************** - * Copyright (C) 1997-2000 + * Copyright (C) 1997-2001 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -54,12 +54,13 @@ int MagicUpdated = 0; int CountMagics(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/magic.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); magichdr.hdrsize = sizeof(magichdr); magichdr.recsize = sizeof(magic); fwrite(&magichdr, sizeof(magichdr), 1, fil); @@ -84,10 +85,11 @@ int CountMagics(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenMagics(void); int OpenMagics(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; int FieldPatch = FALSE; @@ -104,6 +106,7 @@ int OpenMagics(void) oldsize = magichdr.recsize; if (oldsize != sizeof(magic)) { MagicUpdated = 1; + Syslog('+', "Updated %s, format changed", fnin); if ((oldsize + 16) == sizeof(magic)) { FieldPatch = TRUE; Syslog('?', "Magic: performing FieldPatch"); @@ -140,9 +143,10 @@ int OpenMagics(void) -void CloseMagics(void) +void CloseMagics(int); +void CloseMagics(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; st_list *mag = NULL, *tmp; @@ -150,7 +154,7 @@ void CloseMagics(void) sprintf(fout,"%s/etc/magic.temp", getenv("MBSE_ROOT")); if (MagicUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -185,7 +189,7 @@ void CloseMagics(void) int AppendMagics(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/magic.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -277,7 +281,7 @@ void FieldsM(void) int EditMagicRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; int j, choices; unsigned long crc, crc1; @@ -384,7 +388,7 @@ void EditMagics(void) int records, i, o, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -447,7 +451,7 @@ void EditMagics(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseMagics(); + CloseMagics(FALSE); return; } @@ -476,9 +480,18 @@ void EditMagics(void) +void InitMagics(void) +{ + CountMagics(); + OpenMagics(); + CloseMagics(TRUE); +} + + + int tic_magic_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *no; int j; diff --git a/mbsetup/m_magic.h b/mbsetup/m_magic.h index fa8fe150..d0b71daa 100644 --- a/mbsetup/m_magic.h +++ b/mbsetup/m_magic.h @@ -4,6 +4,7 @@ int CountMagics(void); void EditMagics(void); +void InitMagics(void); int tic_magic_doc(FILE *, FILE *, int); diff --git a/mbsetup/m_marea.c b/mbsetup/m_marea.c index 863a293a..44f5d9bf 100644 --- a/mbsetup/m_marea.c +++ b/mbsetup/m_marea.c @@ -1,8 +1,8 @@ /***************************************************************************** * - * File ..................: m_mail.c - * Purpose ...............: Mail Setup Program - * Last modification date : 22-Jan-2001 + * File ..................: m_marea.c + * Purpose ...............: Message Areas Setup + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -57,13 +57,13 @@ FILE *tfil = NULL; int CountMsgarea(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/mareas.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { - Syslog('+', "Created mareas.data"); + Syslog('+', "Created new %s", ffile); msgshdr.hdrsize = sizeof(msgshdr); msgshdr.recsize = sizeof(msgs); msgshdr.syssize = CFG.toss_systems * sizeof(sysconnect); @@ -92,10 +92,11 @@ int CountMsgarea(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenMsgarea(void); int OpenMsgarea(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize, oldsys; struct _sysconnect syscon; int i, oldsystems; @@ -104,7 +105,6 @@ int OpenMsgarea(void) sprintf(fnout, "%s/etc/mareas.temp", getenv("MBSE_ROOT")); if ((fin = fopen(fnin, "r")) != NULL) { if ((fout = fopen(fnout, "w")) != NULL) { - Syslog('+', "Opened \"mareas.data\""); MsgUpdated = 0; fread(&msgshdr, sizeof(msgshdr), 1, fin); fseek(fin, 0, SEEK_SET); @@ -113,6 +113,7 @@ int OpenMsgarea(void) msgshdr.hdrsize = sizeof(msgshdr); msgshdr.lastupd = time(NULL); MsgUpdated = 1; + Syslog('+', "Updated %s, format changed", fnin); } /* @@ -125,7 +126,7 @@ int OpenMsgarea(void) oldsystems = oldsys / sizeof(syscon); if ((oldsize != sizeof(msgs)) || (CFG.toss_systems != oldsystems)) { MsgUpdated = 1; - Syslog('+', "\"mareas.data\" nr of systems is changed"); + Syslog('+', "Updated %s, nr of systems is changed to %d", fnin, CFG.toss_systems); } msgshdr.hdrsize = sizeof(msgshdr); msgshdr.recsize = sizeof(msgs); @@ -169,9 +170,6 @@ int OpenMsgarea(void) fclose(fin); fclose(fout); - Syslog('+', "Opended \"mareas.data\""); - if (MsgUpdated) - Syslog('+', "Updated \"mareas.data\" data format"); return 0; } else return -1; @@ -183,7 +181,7 @@ int OpenMsgarea(void) void CloseMsgarea(int Force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; sprintf(fin, "%s/etc/mareas.data", getenv("MBSE_ROOT")); sprintf(fout,"%s/etc/mareas.temp", getenv("MBSE_ROOT")); @@ -199,7 +197,6 @@ void CloseMsgarea(int Force) } working(1, 0, 0); unlink(fout); - Syslog('+', "No update of \"mareas.data\""); } @@ -227,7 +224,7 @@ int AppendMsgarea(void); int AppendMsgarea() { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; struct _sysconnect syscon; int i; @@ -433,7 +430,7 @@ long LoadMsgRec(int, int); long LoadMsgRec(int Area, int work) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; sysconnect System; int i; @@ -484,7 +481,7 @@ int SaveMsgRec(int Area, int work) int i; FILE *fil; long offset; - char mfile[81]; + char mfile[PATH_MAX]; sysconnect System; if (work) @@ -543,7 +540,7 @@ void MsgGlobal(void); void MsgGlobal(void) { gr_list *mgr = NULL, *tmp; - char *p, mfile[128]; + char *p, mfile[PATH_MAX]; FILE *fil; fidoaddr a1, a2; int menu = 0, marea, Areas, akan = 0, Found; @@ -1021,7 +1018,7 @@ void EditMsgarea(void) int records, i, o, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; int from, too; sysconnect System; @@ -1148,12 +1145,21 @@ void EditMsgarea(void) +void InitMsgarea(void) +{ + CountMsgarea(); + OpenMsgarea(); + CloseMsgarea(TRUE); +} + + + char *PickMsgarea(char *shdr) { int records, i, o = 0, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; static char Buf[81]; @@ -1246,7 +1252,7 @@ int GroupInMarea(char *Group) { int Area = 0, RetVal = 0, systems; FILE *no; - char temp[128]; + char temp[PATH_MAX]; sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT")); if ((no = fopen(temp, "r")) == NULL) @@ -1278,7 +1284,7 @@ int NodeInMarea(fidoaddr A) { int i, Area = 0, RetVal = 0, systems; FILE *no; - char temp[128]; + char temp[PATH_MAX]; sysconnect S; sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT")); @@ -1314,7 +1320,7 @@ void gold_areas(FILE *fp) FILE *no; int i = 0; - temp = calloc(128, sizeof(char)); + temp = calloc(PATH_MAX, sizeof(char)); sprintf(temp, "%s/etc/mareas.data", getenv("MBSE_ROOT")); if ((no = fopen(temp, "r")) == NULL) return; @@ -1362,7 +1368,7 @@ void gold_areas(FILE *fp) int mail_area_doc(FILE *fp, FILE *toc, int page) { - char temp[81], status[5]; + char temp[PATH_MAX], status[5]; FILE *no; int i = 0, j, systems, First = TRUE; sysconnect System; diff --git a/mbsetup/m_marea.h b/mbsetup/m_marea.h index 8b22974b..ef19a584 100644 --- a/mbsetup/m_marea.h +++ b/mbsetup/m_marea.h @@ -8,6 +8,7 @@ int GroupInMarea(char *); int NodeInMarea(fidoaddr); int CountMsgarea(void); void EditMsgarea(void); +void InitMsgarea(void); void gold_areas(FILE *); int mail_area_doc(FILE *, FILE *, int); char *PickMsgarea(char *); diff --git a/mbsetup/m_menu.c b/mbsetup/m_menu.c index f7a67f82..0cc49665 100644 --- a/mbsetup/m_menu.c +++ b/mbsetup/m_menu.c @@ -2,7 +2,7 @@ * * File ..................: mbsetup/m_menu.c * Purpose ...............: Edit BBS menus - * Last modification date : 17-Oct-2001 + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -264,7 +264,7 @@ void Edit_A_Menu(void) void EditMenu(char *); void EditMenu(char *Name) { - char mtemp[81], temp[161]; + char mtemp[PATH_MAX], temp[PATH_MAX]; FILE *fil, *tmp; int records = 0, i, o, y; char pick[12]; @@ -538,7 +538,7 @@ void EditMenus(void) int bbs_menu_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *no, *mn; DIR *dp; struct dirent *de; diff --git a/mbsetup/m_mgroup.c b/mbsetup/m_mgroup.c index 43dfd7ca..67712c3e 100644 --- a/mbsetup/m_mgroup.c +++ b/mbsetup/m_mgroup.c @@ -2,7 +2,7 @@ * * File ..................: setup/m_mgroups.c * Purpose ...............: Setup MGroups. - * Last modification date : 12-Jun-2001 + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -55,12 +55,13 @@ int MGrpUpdated = 0; int CountMGroup(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/mgroups.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); mgrouphdr.hdrsize = sizeof(mgrouphdr); mgrouphdr.recsize = sizeof(mgroup); fwrite(&mgrouphdr, sizeof(mgrouphdr), 1, fil); @@ -87,10 +88,11 @@ int CountMGroup(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenMGroup(void); int OpenMGroup(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/mgroups.data", getenv("MBSE_ROOT")); @@ -119,6 +121,9 @@ int OpenMGroup(void) mgrouphdr.recsize = sizeof(mgroup); fwrite(&mgrouphdr, sizeof(mgrouphdr), 1, fout); + if (MGrpUpdated) + Syslog('+', "Updated %s, format changed", fnin); + /* * The datarecord is filled with zero's before each * read, so if the format changed, the new fields @@ -141,9 +146,10 @@ int OpenMGroup(void) -void CloseMGroup(void) +void CloseMGroup(int); +void CloseMGroup(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; st_list *mgr = NULL, *tmp; @@ -151,7 +157,7 @@ void CloseMGroup(void) sprintf(fout,"%s/etc/mgroups.temp", getenv("MBSE_ROOT")); if (MGrpUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -186,7 +192,7 @@ void CloseMGroup(void) int AppendMGroup(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/mgroups.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -339,7 +345,7 @@ void EditMGroup(void) int records, i, o, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -402,7 +408,7 @@ void EditMGroup(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseMGroup(); + CloseMGroup(FALSE); return; } @@ -431,13 +437,22 @@ void EditMGroup(void) +void InitMGroup(void) +{ + CountMGroup(); + OpenMGroup(); + CloseMGroup(TRUE); +} + + + char *PickMGroup(char *shdr) { static char MGrp[21] = ""; int records, i, o = 0, y, x; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; @@ -523,7 +538,7 @@ char *PickMGroup(char *shdr) int mail_group_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *no; int j; diff --git a/mbsetup/m_mgroup.h b/mbsetup/m_mgroup.h index 6999af0b..8da9f02f 100644 --- a/mbsetup/m_mgroup.h +++ b/mbsetup/m_mgroup.h @@ -4,6 +4,7 @@ int CountMGroup(void); void EditMGroup(void); +void InitMGroup(void); char *PickMGroup(char *); int mail_group_doc(FILE *, FILE *, int); diff --git a/mbsetup/m_modem.c b/mbsetup/m_modem.c index e572dd6f..dc1e4960 100644 --- a/mbsetup/m_modem.c +++ b/mbsetup/m_modem.c @@ -2,7 +2,7 @@ * * File ..................: setup/m_modem.c * Purpose ...............: Setup Modem structure. - * Last modification date : 24-Jun-2001 + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -53,12 +53,13 @@ int ModemUpdated = 0; int CountModem(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/modem.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); modemhdr.hdrsize = sizeof(modemhdr); modemhdr.recsize = sizeof(modem); fwrite(&modemhdr, sizeof(modemhdr), 1, fil); @@ -72,22 +73,26 @@ int CountModem(void) sprintf(modem.init[1], "AT &F &C1 &D2 X4 W2 B0 M0 \\\\V1 \\\\G0 &K3 S37=0\\r"); sprintf(modem.ok, "OK"); sprintf(modem.dial, "ATDT\\T\\r"); - sprintf(modem.connect[0], "CONNECT 33600"); - sprintf(modem.connect[1], "CONNECT 31200"); - sprintf(modem.connect[2], "CONNECT 28800"); - sprintf(modem.connect[3], "CONNECT 26400"); - sprintf(modem.connect[4], "CONNECT 24000"); - sprintf(modem.connect[5], "CONNECT 21600"); - sprintf(modem.connect[6], "CONNECT 19200"); - sprintf(modem.connect[7], "CONNECT 16800"); - sprintf(modem.connect[8], "CONNECT 14400"); - sprintf(modem.connect[9], "CONNECT 12000"); - sprintf(modem.connect[10], "CONNECT 9600"); - sprintf(modem.connect[11], "CONNECT 7200"); - sprintf(modem.connect[12], "CONNECT 4800"); - sprintf(modem.connect[13], "CONNECT 2400"); - sprintf(modem.connect[14], "CONNECT 1200"); - sprintf(modem.connect[15], "CONNECT 300"); + sprintf(modem.connect[0], "CONNECT 56000"); + sprintf(modem.connect[1], "CONNECT 48000"); + sprintf(modem.connect[2], "CONNECT 44000"); + sprintf(modem.connect[3], "CONNECT 41333"); + sprintf(modem.connect[4], "CONNECT 38000"); + sprintf(modem.connect[5], "CONNECT 33600"); + sprintf(modem.connect[6], "CONNECT 31200"); + sprintf(modem.connect[7], "CONNECT 28800"); + sprintf(modem.connect[8], "CONNECT 26400"); + sprintf(modem.connect[9], "CONNECT 24000"); + sprintf(modem.connect[10], "CONNECT 21600"); + sprintf(modem.connect[11], "CONNECT 19200"); + sprintf(modem.connect[12], "CONNECT 16800"); + sprintf(modem.connect[13], "CONNECT 14400"); + sprintf(modem.connect[14], "CONNECT 12000"); + sprintf(modem.connect[15], "CONNECT 9600"); + sprintf(modem.connect[16], "CONNECT 7200"); + sprintf(modem.connect[17], "CONNECT 4800"); + sprintf(modem.connect[18], "CONNECT 2400"); + sprintf(modem.connect[19], "CONNECT"); sprintf(modem.reset, "AT&F&C1&D2X4W2B0M0&K3\\r"); sprintf(modem.error[0], "BUSY"); sprintf(modem.error[1], "NO CARRIER"); @@ -160,10 +165,11 @@ int CountModem(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenModem(void); int OpenModem(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/modem.data", getenv("MBSE_ROOT")); @@ -177,9 +183,10 @@ int OpenModem(void) * database must always be updated. */ oldsize = modemhdr.recsize; - if (oldsize != sizeof(modem)) + if (oldsize != sizeof(modem)) { ModemUpdated = 1; - else + Syslog('+', "Updated %s, format changed", fnin); + } else ModemUpdated = 0; modemhdr.hdrsize = sizeof(modemhdr); modemhdr.recsize = sizeof(modem); @@ -207,9 +214,10 @@ int OpenModem(void) -void CloseModem(void) +void CloseModem(int); +void CloseModem(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; st_list *mdm = NULL, *tmp; @@ -217,7 +225,7 @@ void CloseModem(void) sprintf(fout,"%s/etc/modem.temp", getenv("MBSE_ROOT")); if (ModemUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -252,7 +260,7 @@ void CloseModem(void) int AppendModem(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/modem.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -260,22 +268,26 @@ int AppendModem(void) sprintf(modem.init[0], "ATZ\\r"); sprintf(modem.ok, "OK"); sprintf(modem.dial, "ATDT\\T\\r"); - sprintf(modem.connect[0], "CONNECT 33600"); - sprintf(modem.connect[1], "CONNECT 31200"); - sprintf(modem.connect[2], "CONNECT 28800"); - sprintf(modem.connect[3], "CONNECT 26400"); - sprintf(modem.connect[4], "CONNECT 24000"); - sprintf(modem.connect[5], "CONNECT 21600"); - sprintf(modem.connect[6], "CONNECT 19200"); - sprintf(modem.connect[7], "CONNECT 16800"); - sprintf(modem.connect[8], "CONNECT 14400"); - sprintf(modem.connect[9], "CONNECT 12000"); - sprintf(modem.connect[10], "CONNECT 9600"); - sprintf(modem.connect[11], "CONNECT 7200"); - sprintf(modem.connect[12], "CONNECT 4800"); - sprintf(modem.connect[13], "CONNECT 2400"); - sprintf(modem.connect[14], "CONNECT 1200"); - sprintf(modem.connect[15], "CONNECT 300"); + sprintf(modem.connect[0], "CONNECT 56000"); + sprintf(modem.connect[1], "CONNECT 48000"); + sprintf(modem.connect[2], "CONNECT 44000"); + sprintf(modem.connect[3], "CONNECT 41333"); + sprintf(modem.connect[4], "CONNECT 38000"); + sprintf(modem.connect[5], "CONNECT 33600"); + sprintf(modem.connect[6], "CONNECT 31200"); + sprintf(modem.connect[7], "CONNECT 28800"); + sprintf(modem.connect[8], "CONNECT 26400"); + sprintf(modem.connect[9], "CONNECT 24000"); + sprintf(modem.connect[10], "CONNECT 21600"); + sprintf(modem.connect[11], "CONNECT 19200"); + sprintf(modem.connect[12], "CONNECT 16800"); + sprintf(modem.connect[13], "CONNECT 14400"); + sprintf(modem.connect[14], "CONNECT 12000"); + sprintf(modem.connect[15], "CONNECT 9600"); + sprintf(modem.connect[16], "CONNECT 7200"); + sprintf(modem.connect[17], "CONNECT 4800"); + sprintf(modem.connect[18], "CONNECT 2400"); + sprintf(modem.connect[19], "CONNECT"); sprintf(modem.error[0], "BUSY"); sprintf(modem.error[1], "NO CARRIER"); sprintf(modem.error[2], "NO DIALTONE"); @@ -387,7 +399,7 @@ void EditError(void) int EditModemRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; int j; unsigned long crc, crc1; @@ -493,7 +505,7 @@ void EditModem(void) int records, i, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -552,7 +564,7 @@ void EditModem(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseModem(); + CloseModem(FALSE); return; } @@ -573,12 +585,21 @@ void EditModem(void) +void InitModem(void) +{ + CountModem(); + OpenModem(); + CloseModem(TRUE); +} + + + char *PickModem(char *shdr) { int records, i, o = 0, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; static char buf[31]; @@ -667,7 +688,7 @@ char *PickModem(char *shdr) int modem_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *mdm; int i, j; diff --git a/mbsetup/m_modem.h b/mbsetup/m_modem.h index e24ad3ab..d8d1e343 100644 --- a/mbsetup/m_modem.h +++ b/mbsetup/m_modem.h @@ -4,6 +4,7 @@ int CountModem(void); void EditModem(void); +void InitModem(void); char *PickModem(char *); int modem_doc(FILE *, FILE *, int); diff --git a/mbsetup/m_new.c b/mbsetup/m_new.c index 557f35d2..6ee51ae6 100644 --- a/mbsetup/m_new.c +++ b/mbsetup/m_new.c @@ -2,10 +2,10 @@ * * File ..................: m_fnewfiles.c * Purpose ...............: Newfiles Setup - * Last modification date : 29-Oct-2000 + * Last modification date : 19-Oct-2001 * ***************************************************************************** - * Copyright (C) 1997-2000 + * Copyright (C) 1997-2001 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -56,12 +56,13 @@ int NewUpdated = 0; int CountNewfiles(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/newfiles.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); newfileshdr.hdrsize = sizeof(newfileshdr); newfileshdr.recsize = sizeof(newfiles); newfileshdr.grpsize = CFG.new_groups * 13; @@ -90,7 +91,7 @@ int CountNewfiles(void) int OpenNewfiles(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; int i, old_groups; long oldgroup; @@ -113,6 +114,11 @@ int OpenNewfiles(void) NewUpdated = 1; else NewUpdated = 0; + if (oldsize != sizeof(newfiles)) + Syslog('+', "Updated %s, format changed", fnin); + else if (CFG.new_groups != old_groups) + Syslog('+', "Updated %s, nr of groups now %d", fnin, CFG.new_groups); + newfileshdr.hdrsize = sizeof(newfileshdr); newfileshdr.recsize = sizeof(newfiles); newfileshdr.grpsize = CFG.new_groups * 13; @@ -156,9 +162,9 @@ int OpenNewfiles(void) -void CloseNewfiles(void) +void CloseNewfiles(int force) { - char fin[81], fout[81], group[13]; + char fin[PATH_MAX], fout[PATH_MAX], group[13]; FILE *fi, *fo; st_list *new = NULL, *tmp; int i; @@ -167,7 +173,7 @@ void CloseNewfiles(void) sprintf(fout,"%s/etc/newfiles.temp", getenv("MBSE_ROOT")); if (NewUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -208,7 +214,7 @@ void CloseNewfiles(void) int AppendNewfiles(void) { FILE *fil; - char ffile[81], group[13]; + char ffile[PATH_MAX], group[13]; int i; sprintf(ffile, "%s/etc/newfiles.temp", getenv("MBSE_ROOT")); @@ -260,7 +266,7 @@ void NewScreen(void) int EditNewRec(int Area) { FILE *fil; - char mfile[81], temp1[2]; + char mfile[PATH_MAX], temp1[2]; long offset; unsigned long crc, crc1; gr_list *fgr = NULL, *tmp; @@ -303,7 +309,6 @@ int EditNewRec(int Area) for (i = 0; i < groups; i++) { fread(&group, sizeof(group), 1, fil); if (strlen(group)) { - Syslog('+', "New group %s", group); for (tmp = fgr; tmp; tmp = tmp->next) if (!strcmp(tmp->group, group)) tmp->tagged = TRUE; @@ -360,7 +365,6 @@ int EditNewRec(int Area) sprintf(group, "%s", tmp->group); fwrite(&group, 13, 1, fil); } - Syslog('+', "Written %d out of %d entries", i, groups); memset(&group, 0, 13); for (j = i; j < groups; j++) @@ -406,7 +410,7 @@ void EditNewfiles(void) int records, i, o, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -469,7 +473,7 @@ void EditNewfiles(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseNewfiles(); + CloseNewfiles(FALSE); return; } @@ -498,9 +502,18 @@ void EditNewfiles(void) +void InitNewfiles(void) +{ + CountNewfiles(); + OpenNewfiles(); + CloseNewfiles(TRUE); +} + + + int new_doc(FILE *fp, FILE *toc, int page) { - char temp[81], group[13]; + char temp[PATH_MAX], group[13]; FILE *no; int groups, i, j; diff --git a/mbsetup/m_new.h b/mbsetup/m_new.h index d80ed79b..962099ac 100644 --- a/mbsetup/m_new.h +++ b/mbsetup/m_new.h @@ -3,7 +3,10 @@ int CountNewfiles(void); +int OpenNewfiles(void); +void CloseNewfiles(int); void EditNewfiles(void); +void InitNewfiles(void); int new_doc(FILE *, FILE *, int); #endif diff --git a/mbsetup/m_ngroup.c b/mbsetup/m_ngroup.c index 665d2d8c..76726942 100644 --- a/mbsetup/m_ngroup.c +++ b/mbsetup/m_ngroup.c @@ -2,10 +2,10 @@ * * File ..................: setup/m_ngroups.c * Purpose ...............: Setup NGroups. - * Last modification date : 28-Aug-2000 + * Last modification date : 19-Oct-2001 * ***************************************************************************** - * Copyright (C) 1997-2000 + * Copyright (C) 1997-2001 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -53,12 +53,13 @@ int NGrpUpdated = 0; int CountNGroup(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/ngroups.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); ngrouphdr.hdrsize = sizeof(ngrouphdr); ngrouphdr.recsize = sizeof(ngroup); fwrite(&ngrouphdr, sizeof(ngrouphdr), 1, fil); @@ -85,10 +86,11 @@ int CountNGroup(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenNGroup(void); int OpenNGroup(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/ngroups.data", getenv("MBSE_ROOT")); @@ -110,8 +112,10 @@ int OpenNGroup(void) * database must always be updated. */ oldsize = ngrouphdr.recsize; - if (oldsize != sizeof(ngroup)) + if (oldsize != sizeof(ngroup)) { NGrpUpdated = 1; + Syslog('+', "Upgraded %s, format changed", fnin); + } ngrouphdr.hdrsize = sizeof(ngrouphdr); ngrouphdr.recsize = sizeof(ngroup); fwrite(&ngrouphdr, sizeof(ngrouphdr), 1, fout); @@ -138,9 +142,10 @@ int OpenNGroup(void) -void CloseNGroup(void) +void CloseNGroup(int); +void CloseNGroup(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; st_list *mgr = NULL, *tmp; @@ -148,7 +153,7 @@ void CloseNGroup(void) sprintf(fout,"%s/etc/ngroups.temp", getenv("MBSE_ROOT")); if (NGrpUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -183,7 +188,7 @@ void CloseNGroup(void) int AppendNGroup(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/ngroups.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -218,7 +223,7 @@ void NgScreen(void) int EditNGrpRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; int j; unsigned long crc, crc1; @@ -292,7 +297,7 @@ void EditNGroup(void) int records, i, o, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -355,7 +360,7 @@ void EditNGroup(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseNGroup(); + CloseNGroup(FALSE); return; } @@ -384,13 +389,22 @@ void EditNGroup(void) +void InitNGroup(void) +{ + CountNGroup(); + OpenNGroup(); + CloseNGroup(TRUE); +} + + + char *PickNGroup(char *shdr) { static char MGrp[21] = ""; int records, i, o = 0, y, x; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; @@ -476,7 +490,7 @@ char *PickNGroup(char *shdr) int newf_group_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *no; int j; diff --git a/mbsetup/m_ngroup.h b/mbsetup/m_ngroup.h index 272fef91..c9e0ab00 100644 --- a/mbsetup/m_ngroup.h +++ b/mbsetup/m_ngroup.h @@ -4,6 +4,7 @@ int CountNGroup(void); void EditNGroup(void); +void InitNGroup(void); char *PickNGroup(char *); int newf_group_doc(FILE *, FILE *, int); diff --git a/mbsetup/m_node.c b/mbsetup/m_node.c index ece9aabf..c2b39910 100644 --- a/mbsetup/m_node.c +++ b/mbsetup/m_node.c @@ -2,10 +2,10 @@ * * File ..................: m_node.c * Purpose ...............: Nodes Setup Program - * Last modification date : 30-Aug-2000 + * Last modification date : 19-Oct-2001 * ***************************************************************************** - * Copyright (C) 1997-2000 + * Copyright (C) 1997-2001 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -57,12 +57,13 @@ int CountNoderec(void); int CountNoderec(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/nodes.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); nodeshdr.hdrsize = sizeof(nodeshdr); nodeshdr.recsize = sizeof(nodes); nodeshdr.filegrp = CFG.tic_groups * 13; @@ -95,7 +96,7 @@ int CountNoderec(void) int OpenNoderec(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; char group[13]; long oldsize; int i, old_fgroups, old_mgroups; @@ -105,7 +106,6 @@ int OpenNoderec(void) sprintf(fnout, "%s/etc/nodes.temp", getenv("MBSE_ROOT")); if ((fin = fopen(fnin, "r")) != NULL) { if ((fout = fopen(fnout, "w")) != NULL) { - Syslog('+', "Opened nodes.data"); NodeUpdated = 0; fread(&nodeshdr, sizeof(nodeshdr), 1, fin); fseek(fin, 0, SEEK_SET); @@ -130,7 +130,12 @@ int OpenNoderec(void) (CFG.tic_groups != old_fgroups) || (CFG.toss_groups != old_mgroups))) { NodeUpdated = 1; - Syslog('+', "nodes.data nr of groups is changed"); + if (oldsize != sizeof(nodes)) + Syslog('+', "Upgraded %s, format changed", fnin); + else if (CFG.tic_groups != old_fgroups) + Syslog('+', "Upgraded %s, nr of tic groups is now %d", fnin, CFG.tic_groups); + else if (CFG.toss_groups != old_mgroups) + Syslog('+', "Upgraded %s, nr of mail groups is now %d", fnin, CFG.toss_groups); } nodeshdr.hdrsize = sizeof(nodeshdr); nodeshdr.recsize = sizeof(nodes); @@ -192,7 +197,7 @@ int OpenNoderec(void) void CloseNoderec(int Force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; int i; char group[13]; @@ -244,7 +249,7 @@ int AppendNoderec(void); int AppendNoderec(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; char group[13]; int i; @@ -278,7 +283,7 @@ int AppendNoderec(void) int GroupInNode(char *Group, int Mail) { - char temp[128], group[13]; + char temp[PATH_MAX], group[13]; FILE *no; int i, groups, Area = 0, RetVal = 0; @@ -493,7 +498,7 @@ fidoaddr e_a(fidoaddr, int); fidoaddr e_a(fidoaddr n, int x) { FILE *fil; - char temp[81]; + char temp[PATH_MAX]; int i; for (;;) { @@ -642,7 +647,7 @@ int EditNodeRec(int); int EditNodeRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; unsigned long crc, crc1; gr_list *fgr = NULL, *egr = NULL, *tmp; @@ -883,7 +888,7 @@ void EditNodes(void) int records, i, o, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -975,13 +980,22 @@ void EditNodes(void) +void InitNodes(void) +{ + CountNoderec(); + OpenNoderec(); + CloseNoderec(TRUE); +} + + + fidoaddr PullUplink(char *Hdr) { static fidoaddr uplink; int records, m, i, o, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; memset(&uplink, 0, sizeof(uplink)); @@ -1098,7 +1112,7 @@ fidoaddr PullUplink(char *Hdr) int node_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *no; int groups, i, First = TRUE; char group[13]; diff --git a/mbsetup/m_node.h b/mbsetup/m_node.h index 3bca6007..96b859af 100644 --- a/mbsetup/m_node.h +++ b/mbsetup/m_node.h @@ -5,6 +5,7 @@ int OpenNoderec(void); void CloseNoderec(int); int GroupInNode(char *, int); void EditNodes(void); +void InitNodes(void); int node_doc(FILE *, FILE *, int); fidoaddr PullUplink(char *); diff --git a/mbsetup/m_ol.c b/mbsetup/m_ol.c index 3537f68b..0894a811 100644 --- a/mbsetup/m_ol.c +++ b/mbsetup/m_ol.c @@ -2,10 +2,10 @@ * * File ..................: setup/m_ol.c * Purpose ...............: Setup Oneliners. - * Last modification date : 18-Mar-2000 + * Last modification date : 19-Oct-2001 * ***************************************************************************** - * Copyright (C) 1997-2000 + * Copyright (C) 1997-2001 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -52,12 +52,13 @@ int OnelUpdated = 0; int CountOneline(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/oneline.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "created new %s", ffile); olhdr.hdrsize = sizeof(olhdr); olhdr.recsize = sizeof(ol); fwrite(&olhdr, sizeof(olhdr), 1, fil); @@ -85,10 +86,11 @@ int CountOneline(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenOneline(void); int OpenOneline(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/oneline.data", getenv("MBSE_ROOT")); @@ -102,9 +104,10 @@ int OpenOneline(void) * database must always be updated. */ oldsize = olhdr.recsize; - if (oldsize != sizeof(ol)) + if (oldsize != sizeof(ol)) { OnelUpdated = 1; - else + Syslog('+', "Upgraded %s, format changed", fnin); + } else OnelUpdated = 0; olhdr.hdrsize = sizeof(olhdr); olhdr.recsize = sizeof(ol); @@ -132,15 +135,16 @@ int OpenOneline(void) -void CloseOneline(void) +void CloseOneline(int); +void CloseOneline(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; sprintf(fin, "%s/etc/oneline.data", getenv("MBSE_ROOT")); sprintf(fout,"%s/etc/oneline.temp", getenv("MBSE_ROOT")); if (OnelUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); if ((rename(fout, fin)) == 0) unlink(fout); @@ -157,7 +161,7 @@ void CloseOneline(void) int AppendOneline(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/oneline.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -178,7 +182,7 @@ int AppendOneline(void) int EditOnelRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; int j; unsigned long crc, crc1; @@ -258,7 +262,7 @@ void EditOneline(void) int records, i, x, y, o; char pick[12]; FILE *fil; - char temp[121]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -321,7 +325,7 @@ void EditOneline(void) strcpy(pick, select_record(records,20)); if (strncmp(pick, "-", 1) == 0) { - CloseOneline(); + CloseOneline(FALSE); return; } @@ -350,12 +354,21 @@ void EditOneline(void) +void InitOneline(void) +{ + CountOneline(); + OpenOneline(); + CloseOneline(TRUE); +} + + + void PurgeOneline(void) { FILE *pOneline, *fp; int recno = 0; int iCount = 0; - char sFileName[81]; + char sFileName[PATH_MAX]; char temp[81]; clr_index(); @@ -416,7 +429,7 @@ void PurgeOneline(void) void ImportOneline(void) { FILE *Imp, *pOneline; - char temp[81]; + char temp[PATH_MAX]; int recno = 0; struct tm *l_date; char buf[12]; diff --git a/mbsetup/m_ol.h b/mbsetup/m_ol.h index 84a2419a..ac443fd6 100644 --- a/mbsetup/m_ol.h +++ b/mbsetup/m_ol.h @@ -6,6 +6,7 @@ int CountOneline(void); void EditOneline(void); +void InitOneline(void); void ol_menu(void); #endif diff --git a/mbsetup/m_protocol.c b/mbsetup/m_protocol.c index 698802b5..5cc1722a 100644 --- a/mbsetup/m_protocol.c +++ b/mbsetup/m_protocol.c @@ -2,7 +2,7 @@ * * File ..................: mbsetup/m_protocol.c * Purpose ...............: Setup Protocols. - * Last modification date : 22-Jan-2001 + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -53,12 +53,13 @@ int ProtUpdated = 0; int CountProtocol(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/protocol.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); PROThdr.hdrsize = sizeof(PROThdr); PROThdr.recsize = sizeof(PROT); fwrite(&PROThdr, sizeof(PROThdr), 1, fil); @@ -127,10 +128,11 @@ int CountProtocol(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenProtocol(void); int OpenProtocol(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/protocol.data", getenv("MBSE_ROOT")); @@ -144,9 +146,10 @@ int OpenProtocol(void) * database must always be updated. */ oldsize = PROThdr.recsize; - if (oldsize != sizeof(PROT)) + if (oldsize != sizeof(PROT)) { ProtUpdated = 1; - else + Syslog('+', "Upgraded %s, format changed", fnin); + } else ProtUpdated = 0; PROThdr.hdrsize = sizeof(PROThdr); PROThdr.recsize = sizeof(PROT); @@ -174,9 +177,10 @@ int OpenProtocol(void) -void CloseProtocol(void) +void CloseProtocol(int); +void CloseProtocol(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; st_list *pro = NULL, *tmp; @@ -184,7 +188,7 @@ void CloseProtocol(void) sprintf(fout,"%s/etc/protocol.temp", getenv("MBSE_ROOT")); if (ProtUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -219,7 +223,7 @@ void CloseProtocol(void) int AppendProtocol(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/protocol.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -262,7 +266,7 @@ void s_protrec(void) int EditProtRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; int j; unsigned long crc, crc1; @@ -350,7 +354,7 @@ void EditProtocol(void) int records, i, x; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -405,7 +409,7 @@ void EditProtocol(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseProtocol(); + CloseProtocol(FALSE); return; } @@ -426,13 +430,22 @@ void EditProtocol(void) +void InitProtocol(void) +{ + CountProtocol(); + OpenProtocol(); + CloseProtocol(TRUE); +} + + + char *PickProtocol(int nr) { static char Prot[21] = ""; int records, i, x; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; @@ -494,7 +507,7 @@ char *PickProtocol(int nr) int bbs_prot_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *no; int j; diff --git a/mbsetup/m_protocol.h b/mbsetup/m_protocol.h index c4f0e668..8c84f0c6 100644 --- a/mbsetup/m_protocol.h +++ b/mbsetup/m_protocol.h @@ -4,6 +4,7 @@ int CountProtocol(void); void EditProtocol(void); +void InitProtocol(void); char *PickProtocol(int); int bbs_prot_doc(FILE *, FILE *, int); diff --git a/mbsetup/m_service.c b/mbsetup/m_service.c index 4f3acbbe..f9a606e7 100644 --- a/mbsetup/m_service.c +++ b/mbsetup/m_service.c @@ -2,7 +2,7 @@ * * File ..................: m_service.c * Purpose ...............: Service Setup - * Last modification date : 30-Apr-2001 + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -52,12 +52,13 @@ int ServiceUpdated; int CountService(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/service.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); servhdr.hdrsize = sizeof(servhdr); servhdr.recsize = sizeof(servrec); servhdr.lastupd = time(NULL); @@ -102,10 +103,11 @@ int CountService(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenService(void); int OpenService(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/service.data", getenv("MBSE_ROOT")); @@ -119,9 +121,10 @@ int OpenService(void) * database must always be updated. */ oldsize = servhdr.recsize; - if (oldsize != sizeof(servrec)) + if (oldsize != sizeof(servrec)) { ServiceUpdated = 1; - else + Syslog('+', "Upgraded %s, format changed", fnin); + } else ServiceUpdated = 0; servhdr.hdrsize = sizeof(servhdr); servhdr.recsize = sizeof(servrec); @@ -148,9 +151,10 @@ int OpenService(void) -void CloseService(void) +void CloseService(int); +void CloseService(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; st_list *hat = NULL, *tmp; @@ -158,7 +162,7 @@ void CloseService(void) sprintf(fout,"%s/etc/service.temp", getenv("MBSE_ROOT")); if (ServiceUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -193,7 +197,7 @@ void CloseService(void) int AppendService(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/service.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -231,7 +235,7 @@ void ServiceScreen(void) int EditServiceRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; unsigned long crc, crc1; @@ -303,7 +307,7 @@ void EditService(void) int records, i, o, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -366,7 +370,7 @@ void EditService(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseService(); + CloseService(FALSE); return; } @@ -395,9 +399,18 @@ void EditService(void) +void InitService(void) +{ + CountService(); + OpenService(); + CloseService(TRUE); +} + + + int service_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *no; int j; diff --git a/mbsetup/m_service.h b/mbsetup/m_service.h index 619303bf..cd09eae6 100644 --- a/mbsetup/m_service.h +++ b/mbsetup/m_service.h @@ -4,6 +4,7 @@ int CountService(void); void EditService(void); +void InitService(void); int service_doc(FILE *, FILE *, int); #endif diff --git a/mbsetup/m_task.c b/mbsetup/m_task.c index e7be5b7c..98cbcc51 100644 --- a/mbsetup/m_task.c +++ b/mbsetup/m_task.c @@ -2,7 +2,7 @@ * * File ..................: setup/m_task.c * Purpose ...............: Setup TaskManager. - * Last modification date : 06-Jul-2001 + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -200,7 +200,7 @@ void task_menu(void) int task_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *no; sprintf(temp, "%s/etc/task.data", getenv("MBSE_ROOT")); diff --git a/mbsetup/m_ticarea.c b/mbsetup/m_ticarea.c index 3fe88ee5..03791089 100644 --- a/mbsetup/m_ticarea.c +++ b/mbsetup/m_ticarea.c @@ -2,10 +2,10 @@ * * File ..................: m_ticareas.c * Purpose ...............: TIC Areas Setup Program - * Last modification date : 29-Oct-2000 + * Last modification date : 19-Oct-2001 * ***************************************************************************** - * Copyright (C) 1997-2000 + * Copyright (C) 1997-2001 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -60,13 +60,13 @@ FILE *ttfil = NULL; int CountTicarea(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/tic.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { - Syslog('+', "Created tic.data"); + Syslog('+', "Created new %s", ffile); tichdr.hdrsize = sizeof(tichdr); tichdr.recsize = sizeof(tic); tichdr.syssize = CFG.tic_systems * sizeof(sysconnect); @@ -98,7 +98,7 @@ int CountTicarea(void) int OpenTicarea(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize, oldsys; struct _sysconnect syscon; int i, oldsystems; @@ -107,7 +107,6 @@ int OpenTicarea(void) sprintf(fnout, "%s/etc/tic.temp", getenv("MBSE_ROOT")); if ((fin = fopen(fnin, "r")) != NULL) { if ((fout = fopen(fnout, "w")) != NULL) { - Syslog('+', "Opened \"tic.data\""); TicUpdated = 0; fread(&tichdr, sizeof(tichdr), 1, fin); fseek(fin, 0, SEEK_SET); @@ -128,7 +127,10 @@ int OpenTicarea(void) oldsystems = oldsys / sizeof(syscon); if ((oldsize != sizeof(tic)) || (CFG.tic_systems != oldsystems)) { TicUpdated = 1; - Syslog('+', "\"tic.data\" nr of systems is changed"); + if (oldsize != sizeof(tic)) + Syslog('+', "Upgraded %s, format changed", fnin); + else if (CFG.tic_systems != oldsystems) + Syslog('+', "Upgraded %s, nr of systems now %d", fnin, CFG.tic_systems); } tichdr.hdrsize = sizeof(tichdr); tichdr.recsize = sizeof(tic); @@ -168,9 +170,6 @@ int OpenTicarea(void) fclose(fin); fclose(fout); - Syslog('+', "Opened \"tic.data\""); - if (TicUpdated) - Syslog('+', "Updated \"tic.data\" data format"); return 0; } else return -1; @@ -182,7 +181,7 @@ int OpenTicarea(void) void CloseTicarea(int Force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; st_list *tir = NULL, *tmp; int i; @@ -226,7 +225,6 @@ void CloseTicarea(int Force) } working(1, 0, 0); unlink(fout); - Syslog('+', "No update of \"tic.data\""); } @@ -235,7 +233,7 @@ int AppendTicarea(void); int AppendTicarea(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; struct _sysconnect syscon; int i; @@ -442,7 +440,7 @@ long LoadTicRec(int, int); long LoadTicRec(int Area, int work) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; sysconnect System; int i; @@ -491,7 +489,7 @@ int SaveTicRec(int Area, int work) int i; FILE *fil; long offset; - char mfile[81]; + char mfile[PATH_MAX]; sysconnect System; if (work) @@ -548,7 +546,7 @@ void TicGlobal(void); void TicGlobal(void) { gr_list *mgr = NULL, *tmp; - char *p, tfile[128]; + char *p, tfile[PATH_MAX]; FILE *fil; fidoaddr a1, a2; int menu = 0, areanr, Areas, akan = 0, Found; @@ -929,7 +927,7 @@ void EditTicarea(void) int records, i, o, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -1027,12 +1025,21 @@ Comment); +void InitTicarea(void) +{ + CountTicarea(); + OpenTicarea(); + CloseTicarea(TRUE); +} + + + char *PickTicarea(char *shdr) { int records, i, o = 0, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; static char Buf[81]; @@ -1118,7 +1125,7 @@ char *PickTicarea(char *shdr) int GroupInTic(char *Group) { - char temp[81]; + char temp[PATH_MAX]; FILE *no; int systems, Area = 0, RetVal = 0; @@ -1152,7 +1159,7 @@ int NodeInTic(fidoaddr A) { int i, Area = 0, RetVal = 0, systems; FILE *no; - char temp[128]; + char temp[PATH_MAX]; sysconnect S; sprintf(temp, "%s/etc/tic.data", getenv("MBSE_ROOT")); @@ -1184,7 +1191,7 @@ int NodeInTic(fidoaddr A) int tic_areas_doc(FILE *fp, FILE *toc, int page) { - char temp[81], status[4]; + char temp[PATH_MAX], status[4]; FILE *no; int i, systems, First = TRUE; sysconnect System; diff --git a/mbsetup/m_ticarea.h b/mbsetup/m_ticarea.h index a8f0fa11..48c7666b 100644 --- a/mbsetup/m_ticarea.h +++ b/mbsetup/m_ticarea.h @@ -7,6 +7,7 @@ void CloseTicarea(int); int NodeInTic(fidoaddr); int CountTicarea(void); void EditTicarea(void); +void InitTicarea(void); char *PickTicarea(char *); int GroupInTic(char *); int tic_areas_doc(FILE *, FILE *, int); diff --git a/mbsetup/m_tty.c b/mbsetup/m_tty.c index b73c136c..f7190689 100644 --- a/mbsetup/m_tty.c +++ b/mbsetup/m_tty.c @@ -2,7 +2,7 @@ * * File ..................: setup/m_tty.c * Purpose ...............: Setup Ttyinfo structure. - * Last modification date : 24-Jun-2001 + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -54,12 +54,13 @@ int TtyUpdated = 0; int CountTtyinfo(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count, i; sprintf(ffile, "%s/etc/ttyinfo.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Creaded new %s", ffile); ttyinfohdr.hdrsize = sizeof(ttyinfohdr); ttyinfohdr.recsize = sizeof(ttyinfo); fwrite(&ttyinfohdr, sizeof(ttyinfohdr), 1, fil); @@ -101,7 +102,12 @@ int CountTtyinfo(void) for (i = 0; i < 4; i++) { memset(&ttyinfo, 0, sizeof(ttyinfo)); sprintf(ttyinfo.comment, "ISDN line %d", i+1); +#ifdef __linux__ sprintf(ttyinfo.tty, "ttyI%d", i); +#endif +#ifdef __FreeBSD__ + sprintf(ttyinfo.tty, "cuaia%d", i); +#endif sprintf(ttyinfo.speed, "64 kbits"); sprintf(ttyinfo.flags, "XA,X75,CM"); ttyinfo.type = ISDN; @@ -115,7 +121,12 @@ int CountTtyinfo(void) for (i = 0; i < 4; i++) { memset(&ttyinfo, 0, sizeof(ttyinfo)); sprintf(ttyinfo.comment, "Modem line %d", i+1); +#ifdef __linux__ sprintf(ttyinfo.tty, "ttyS%d", i); +#endif +#ifdef __FreeBSD__ + sprintf(ttyinfo.tty, "cuaa%d", i); +#endif sprintf(ttyinfo.speed, "33.6 kbits"); sprintf(ttyinfo.flags, "CM,XA,V32B,V42B,V34"); ttyinfo.type = POTS; @@ -148,10 +159,11 @@ int CountTtyinfo(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenTtyinfo(void); int OpenTtyinfo(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/ttyinfo.data", getenv("MBSE_ROOT")); @@ -165,9 +177,10 @@ int OpenTtyinfo(void) * database must always be updated. */ oldsize = ttyinfohdr.recsize; - if (oldsize != sizeof(ttyinfo)) + if (oldsize != sizeof(ttyinfo)) { TtyUpdated = 1; - else + Syslog('+', "Updated %s, format changed", fnin); + } else TtyUpdated = 0; ttyinfohdr.hdrsize = sizeof(ttyinfohdr); ttyinfohdr.recsize = sizeof(ttyinfo); @@ -195,9 +208,10 @@ int OpenTtyinfo(void) -void CloseTtyinfo(void) +void CloseTtyinfo(int); +void CloseTtyinfo(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; st_list *tty = NULL, *tmp; @@ -205,7 +219,7 @@ void CloseTtyinfo(void) sprintf(fout,"%s/etc/ttyinfo.temp", getenv("MBSE_ROOT")); if (TtyUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -240,7 +254,7 @@ void CloseTtyinfo(void) int AppendTtyinfo(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/ttyinfo.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -285,7 +299,7 @@ void TtyScreen(void) int EditTtyRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; int j; unsigned long crc, crc1; @@ -378,7 +392,7 @@ void EditTtyinfo(void) int records, i, o, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -439,7 +453,7 @@ void EditTtyinfo(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseTtyinfo(); + CloseTtyinfo(FALSE); return; } @@ -470,9 +484,18 @@ void EditTtyinfo(void) +void InitTtyinfo(void) +{ + CountTtyinfo(); + OpenTtyinfo(); + CloseTtyinfo(TRUE); +} + + + int tty_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *tty; int j; diff --git a/mbsetup/m_tty.h b/mbsetup/m_tty.h index e25eac4c..a552b73a 100644 --- a/mbsetup/m_tty.h +++ b/mbsetup/m_tty.h @@ -4,6 +4,7 @@ int CountTtyinfo(void); void EditTtyinfo(void); +void InitTtyinfo(void); int tty_doc(FILE *, FILE *, int); #endif diff --git a/mbsetup/m_users.c b/mbsetup/m_users.c index 7f7fba2a..392f9580 100644 --- a/mbsetup/m_users.c +++ b/mbsetup/m_users.c @@ -2,10 +2,10 @@ * * File ..................: setup/m_users.c * Purpose ...............: Edit Users - * Last modification date : 29-Jul-2000 + * Last modification date : 19-Oct-2001 * ***************************************************************************** - * Copyright (C) 1997-2000 + * Copyright (C) 1997-2001 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -54,12 +54,13 @@ int UsrUpdated = 0; int CountUsers(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/users.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); usrconfighdr.hdrsize = sizeof(usrconfighdr); usrconfighdr.recsize = sizeof(usrconfig); fwrite(&usrconfighdr, sizeof(usrconfighdr), 1, fil); @@ -87,10 +88,11 @@ int CountUsers(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenUsers(void); int OpenUsers(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/users.data", getenv("MBSE_ROOT")); @@ -104,9 +106,10 @@ int OpenUsers(void) * database must always be updated. */ oldsize = usrconfighdr.recsize; - if (oldsize != sizeof(usrconfig)) + if (oldsize != sizeof(usrconfig)) { UsrUpdated = 1; - else + Syslog('+', "Upgraded %s, format changed", fnin); + } else UsrUpdated = 0; usrconfighdr.hdrsize = sizeof(usrconfighdr); usrconfighdr.recsize = sizeof(usrconfig); @@ -134,15 +137,16 @@ int OpenUsers(void) -void CloseUsers(void) +void CloseUsers(int); +void CloseUsers(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; sprintf(fin, "%s/etc/users.data", getenv("MBSE_ROOT")); sprintf(fout,"%s/etc/users.temp", getenv("MBSE_ROOT")); if (UsrUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); if ((rename(fout, fin)) == 0) unlink(fout); @@ -159,7 +163,7 @@ void CloseUsers(void) int AppendUsers(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/users.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -291,7 +295,7 @@ void Fields1(void) int EditUsrRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; int j = 0; unsigned long crc, crc1; @@ -416,7 +420,7 @@ void EditUsers(void) int records, i, o, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -479,7 +483,7 @@ void EditUsers(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseUsers(); + CloseUsers(FALSE); return; } @@ -507,3 +511,12 @@ void EditUsers(void) } + +void InitUsers(void) +{ + CountUsers(); + OpenUsers(); + CloseUsers(TRUE); +} + + diff --git a/mbsetup/m_users.h b/mbsetup/m_users.h index 4bdd8740..afc7e2b1 100644 --- a/mbsetup/m_users.h +++ b/mbsetup/m_users.h @@ -6,6 +6,7 @@ int CountUsers(void); void EditUsers(void); +void InitUsers(void); #endif diff --git a/mbsetup/m_virus.c b/mbsetup/m_virus.c index e232816c..19c334e9 100644 --- a/mbsetup/m_virus.c +++ b/mbsetup/m_virus.c @@ -2,7 +2,7 @@ * * File ..................: setup/m_virus.c * Purpose ...............: Setup Virus structure. - * Last modification date : 22-Jan-2001 + * Last modification date : 19-Oct-2001 * ***************************************************************************** * Copyright (C) 1997-2001 @@ -53,33 +53,36 @@ int VirUpdated = 0; int CountVirus(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; int count; sprintf(ffile, "%s/etc/virscan.data", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "r")) == NULL) { if ((fil = fopen(ffile, "a+")) != NULL) { + Syslog('+', "Created new %s", ffile); virscanhdr.hdrsize = sizeof(virscanhdr); virscanhdr.recsize = sizeof(virscan); fwrite(&virscanhdr, sizeof(virscanhdr), 1, fil); /* - * Create some default records + * Create some default records but don't enable them. */ memset(&virscan, 0, sizeof(virscan)); sprintf(virscan.comment, "AntiVir/Linux Scanner"); sprintf(virscan.scanner, "/usr/bin/antivir"); sprintf(virscan.options, "-allfiles -s -q"); - virscan.available = TRUE; - virscan.error = 0; + fwrite(&virscan, sizeof(virscan), 1, fil); + + memset(&virscan, 0, sizeof(virscan)); + sprintf(virscan.comment, "F-Prot scanner"); + sprintf(virscan.scanner, "/usr/local/bin/f-prot ."); + sprintf(virscan.options, "-archive -silent"); fwrite(&virscan, sizeof(virscan), 1, fil); memset(&virscan, 0, sizeof(virscan)); sprintf(virscan.comment, "McAfee VirusScan for Linux"); sprintf(virscan.scanner, "/usr/local/bin/uvscan"); sprintf(virscan.options, "--noboot --noexpire -r --secure -"); - virscan.available = TRUE; - virscan.error = 0; fwrite(&virscan, sizeof(virscan), 1, fil); fclose(fil); @@ -103,10 +106,11 @@ int CountVirus(void) * is changed it will be converted on the fly. All editing must be * done on the copied file. */ +int OpenVirus(void); int OpenVirus(void) { FILE *fin, *fout; - char fnin[81], fnout[81]; + char fnin[PATH_MAX], fnout[PATH_MAX]; long oldsize; sprintf(fnin, "%s/etc/virscan.data", getenv("MBSE_ROOT")); @@ -120,9 +124,10 @@ int OpenVirus(void) * database must always be updated. */ oldsize = virscanhdr.recsize; - if (oldsize != sizeof(virscan)) + if (oldsize != sizeof(virscan)) { VirUpdated = 1; - else + Syslog('+', "Upgraded %s, format changed", fnin); + } else VirUpdated = 0; virscanhdr.hdrsize = sizeof(virscanhdr); virscanhdr.recsize = sizeof(virscan); @@ -150,9 +155,10 @@ int OpenVirus(void) -void CloseVirus(void) +void CloseVirus(int); +void CloseVirus(int force) { - char fin[81], fout[81]; + char fin[PATH_MAX], fout[PATH_MAX]; FILE *fi, *fo; st_list *vir = NULL, *tmp; @@ -160,7 +166,7 @@ void CloseVirus(void) sprintf(fout,"%s/etc/virscan.temp", getenv("MBSE_ROOT")); if (VirUpdated == 1) { - if (yes_no((char *)"Database is changed, save changes") == 1) { + if (force || (yes_no((char *)"Database is changed, save changes") == 1)) { working(1, 0, 0); fi = fopen(fout, "r"); fo = fopen(fin, "w"); @@ -195,7 +201,7 @@ void CloseVirus(void) int AppendVirus(void) { FILE *fil; - char ffile[81]; + char ffile[PATH_MAX]; sprintf(ffile, "%s/etc/virscan.temp", getenv("MBSE_ROOT")); if ((fil = fopen(ffile, "a")) != NULL) { @@ -216,7 +222,7 @@ int AppendVirus(void) int EditVirRec(int Area) { FILE *fil; - char mfile[81]; + char mfile[PATH_MAX]; long offset; int j; unsigned long crc, crc1; @@ -301,7 +307,7 @@ void EditVirus(void) int records, i, x, y; char pick[12]; FILE *fil; - char temp[81]; + char temp[PATH_MAX]; long offset; clr_index(); @@ -359,7 +365,7 @@ void EditVirus(void) strcpy(pick, select_record(records, 20)); if (strncmp(pick, "-", 1) == 0) { - CloseVirus(); + CloseVirus(FALSE); return; } @@ -379,9 +385,19 @@ void EditVirus(void) } + +void InitVirus(void) +{ + CountVirus(); + OpenVirus(); + CloseVirus(TRUE); +} + + + int virus_doc(FILE *fp, FILE *toc, int page) { - char temp[81]; + char temp[PATH_MAX]; FILE *vir; int j; diff --git a/mbsetup/m_virus.h b/mbsetup/m_virus.h index 791ea11c..78c17083 100644 --- a/mbsetup/m_virus.h +++ b/mbsetup/m_virus.h @@ -6,6 +6,7 @@ int CountVirus(void); void EditVirus(void); +void InitVirus(void); int virus_doc(FILE *, FILE *, int); #endif diff --git a/mbsetup/mbsetup.c b/mbsetup/mbsetup.c index 1d4705d3..8e808e2a 100644 --- a/mbsetup/mbsetup.c +++ b/mbsetup/mbsetup.c @@ -42,8 +42,13 @@ #include "m_farea.h" #include "m_fgroup.h" #include "m_mail.h" +#include "m_mgroup.h" +#include "m_hatch.h" #include "m_tic.h" +#include "m_ticarea.h" +#include "m_magic.h" #include "m_fido.h" +#include "m_lang.h" #include "m_archive.h" #include "m_virus.h" #include "m_tty.h" @@ -52,6 +57,8 @@ #include "m_node.h" #include "m_fdb.h" #include "m_new.h" +#include "m_ol.h" +#include "m_protocol.h" #include "m_ff.h" #include "m_modem.h" #include "m_marea.h" @@ -321,13 +328,34 @@ void initdatabases(void) { clr_index(); working(1, 0, 0); + set_color(WHITE, BLACK); + mvprintw( 5, 6, " INIT DATABASES"); IsDoing("Init Databases"); - + config_read(); + InitArchive(); InitDomain(); InitFilearea(); InitFilefind(); InitFGroup(); + InitFidonetdb(); + InitHatch(); + InitLanguage(); + InitLimits(); + InitMagics(); + InitMsgarea(); + InitMGroup(); + InitModem(); + InitNewfiles(); + InitNGroup(); + InitNodes(); + InitOneline(); + InitProtocol(); + InitService(); + InitTicarea(); + InitTtyinfo(); + InitUsers(); + InitVirus(); working(0, 0, 0); clr_index();