A lot of fixes found with valgrind
This commit is contained in:
@@ -463,53 +463,55 @@ void InitFidonetdb(void)
|
||||
|
||||
void gold_akamatch(FILE *fp)
|
||||
{
|
||||
char temp[PATH_MAX];
|
||||
FILE *fido;
|
||||
faddr *want;
|
||||
int i;
|
||||
char temp[PATH_MAX];
|
||||
FILE *fido;
|
||||
faddr *want, *ta;
|
||||
int i;
|
||||
|
||||
sprintf(temp, "%s/etc/fidonet.data", getenv("MBSE_ROOT"));
|
||||
if ((fido = fopen(temp, "r")) == NULL)
|
||||
return;
|
||||
sprintf(temp, "%s/etc/fidonet.data", getenv("MBSE_ROOT"));
|
||||
if ((fido = fopen(temp, "r")) == NULL)
|
||||
return;
|
||||
|
||||
fprintf(fp, "; AKA Matching\n;\n");
|
||||
want = (faddr *)malloc(sizeof(faddr));
|
||||
fprintf(fp, "; AKA Matching\n;\n");
|
||||
want = (faddr *)malloc(sizeof(faddr));
|
||||
|
||||
fread(&fidonethdr, sizeof(fidonethdr), 1, fido);
|
||||
while ((fread(&fidonet, fidonethdr.recsize, 1, fido)) == 1) {
|
||||
fread(&fidonethdr, sizeof(fidonethdr), 1, fido);
|
||||
while ((fread(&fidonet, fidonethdr.recsize, 1, fido)) == 1) {
|
||||
|
||||
for (i = 0; i < 6; i++)
|
||||
if (fidonet.zone[i]) {
|
||||
want->zone = fidonet.zone[0];
|
||||
want->net = 0;
|
||||
want->node = 0;
|
||||
want->point = 0;
|
||||
want->name = NULL;
|
||||
want->domain = NULL;
|
||||
fprintf(fp, "AKAMATCH %d:* %s\n", fidonet.zone[i], ascfnode(bestaka_s(want), 0xf));
|
||||
}
|
||||
}
|
||||
for (i = 0; i < 6; i++)
|
||||
if (fidonet.zone[i]) {
|
||||
want->zone = fidonet.zone[0];
|
||||
want->net = 0;
|
||||
want->node = 0;
|
||||
want->point = 0;
|
||||
want->name = NULL;
|
||||
want->domain = NULL;
|
||||
ta = bestaka_s(want);
|
||||
fprintf(fp, "AKAMATCH %d:* %s\n", fidonet.zone[i], ascfnode(ta, 0xf));
|
||||
tidy_faddr(ta);
|
||||
}
|
||||
}
|
||||
|
||||
free(want);
|
||||
fprintf(fp, ";\n");
|
||||
fprintf(fp, "AKAMATCHNET YES\n");
|
||||
fprintf(fp, "AKAMATCHECHO YES\n"); /* On request, should work better */
|
||||
fprintf(fp, "AKAMATCHLOCAL NO\n\n");
|
||||
free(want);
|
||||
fprintf(fp, ";\n");
|
||||
fprintf(fp, "AKAMATCHNET YES\n");
|
||||
fprintf(fp, "AKAMATCHECHO YES\n");
|
||||
fprintf(fp, "AKAMATCHLOCAL NO\n\n");
|
||||
|
||||
fprintf(fp, "; NODELISTS\n;\n");
|
||||
fprintf(fp, "NODEPATH %s/\n", CFG.nodelists);
|
||||
fseek(fido, fidonethdr.hdrsize, SEEK_SET);
|
||||
while ((fread(&fidonet, fidonethdr.recsize, 1, fido)) == 1) {
|
||||
fprintf(fp, "NODELIST %s.*\n", fidonet.nodelist);
|
||||
for (i = 0; i < 6; i++)
|
||||
if (strlen(fidonet.seclist[i].nodelist) || fidonet.seclist[i].zone)
|
||||
fprintf(fp, "NODELIST %s.*\n", fidonet.seclist[i].nodelist);
|
||||
}
|
||||
// fprintf(fp, "USERLIST golded.lst\n");
|
||||
fprintf(fp, "LOOKUPNET YES\n");
|
||||
fprintf(fp, "LOOKUPECHO NO\n");
|
||||
fprintf(fp, "LOOKUPLOCAL NO\n\n");
|
||||
fclose(fido);
|
||||
fprintf(fp, "; NODELISTS\n;\n");
|
||||
fprintf(fp, "NODEPATH %s/\n", CFG.nodelists);
|
||||
fseek(fido, fidonethdr.hdrsize, SEEK_SET);
|
||||
while ((fread(&fidonet, fidonethdr.recsize, 1, fido)) == 1) {
|
||||
fprintf(fp, "NODELIST %s.*\n", fidonet.nodelist);
|
||||
for (i = 0; i < 6; i++)
|
||||
if (strlen(fidonet.seclist[i].nodelist) || fidonet.seclist[i].zone)
|
||||
fprintf(fp, "NODELIST %s.*\n", fidonet.seclist[i].nodelist);
|
||||
}
|
||||
// fprintf(fp, "USERLIST golded.lst\n");
|
||||
fprintf(fp, "LOOKUPNET YES\n");
|
||||
fprintf(fp, "LOOKUPECHO NO\n");
|
||||
fprintf(fp, "LOOKUPLOCAL NO\n\n");
|
||||
fclose(fido);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -779,7 +779,7 @@ void s_fidomailcfg(void)
|
||||
mvprintw(12,42, "13. 4d address");
|
||||
mvprintw(13,42, "14. Split at");
|
||||
mvprintw(14,42, "15. Force at");
|
||||
mvprintw(15,42, "16. Allow %+*");
|
||||
mvprintw(15,42, "16. Allow +*");
|
||||
mvprintw(16,42, "17. Notify");
|
||||
mvprintw(17,42, "18. Passwd");
|
||||
mvprintw(18,42, "19. Pause");
|
||||
|
@@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Message Areas Setup
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2002
|
||||
* Copyright (C) 1997-2003
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@@ -535,48 +535,48 @@ void SetScreen()
|
||||
long LoadMsgRec(int, int);
|
||||
long LoadMsgRec(int Area, int work)
|
||||
{
|
||||
FILE *fil;
|
||||
char mfile[PATH_MAX];
|
||||
long offset;
|
||||
sysconnect System;
|
||||
int i;
|
||||
FILE *fil;
|
||||
char mfile[PATH_MAX];
|
||||
long offset;
|
||||
sysconnect System;
|
||||
int i;
|
||||
|
||||
if (work)
|
||||
working(1, 0, 0);
|
||||
if (work)
|
||||
working(1, 0, 0);
|
||||
|
||||
sprintf(mfile, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(mfile, "r")) == NULL) {
|
||||
working(2, 0, 0);
|
||||
return -1;
|
||||
}
|
||||
sprintf(mfile, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
|
||||
if ((fil = fopen(mfile, "r")) == NULL) {
|
||||
working(2, 0, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ((tfil = tmpfile()) == NULL) {
|
||||
working(2, 0, 0);
|
||||
return -1;
|
||||
}
|
||||
if ((tfil = tmpfile()) == NULL) {
|
||||
working(2, 0, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
fread(&msgshdr, sizeof(msgshdr), 1, fil);
|
||||
offset = msgshdr.hdrsize + (((Area -1) * (msgshdr.recsize + msgshdr.syssize)));
|
||||
if (fseek(fil, offset, SEEK_SET) != 0) {
|
||||
fclose(tfil);
|
||||
tfil = NULL;
|
||||
working(2, 0, 0);
|
||||
return -1;
|
||||
}
|
||||
fread(&msgshdr, sizeof(msgshdr), 1, fil);
|
||||
offset = msgshdr.hdrsize + (((Area -1) * (msgshdr.recsize + msgshdr.syssize)));
|
||||
if (fseek(fil, offset, SEEK_SET) != 0) {
|
||||
fclose(tfil);
|
||||
tfil = NULL;
|
||||
working(2, 0, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
fread(&msgs, msgshdr.recsize, 1, fil);
|
||||
MsgCrc = 0xffffffff;
|
||||
MsgCrc = upd_crc32((char *)&msgs, MsgCrc, msgshdr.recsize);
|
||||
for (i = 0; i < (msgshdr.syssize / sizeof(sysconnect)); i++) {
|
||||
fread(&System, sizeof(sysconnect), 1, fil);
|
||||
fwrite(&System, sizeof(sysconnect), 1, tfil);
|
||||
MsgCrc = upd_crc32((char *)&System, MsgCrc, sizeof(sysconnect));
|
||||
}
|
||||
fclose(fil);
|
||||
if (work)
|
||||
working(0, 0, 0);
|
||||
fread(&msgs, msgshdr.recsize, 1, fil);
|
||||
MsgCrc = 0xffffffff;
|
||||
MsgCrc = upd_crc32((char *)&msgs, MsgCrc, msgshdr.recsize);
|
||||
for (i = 0; i < (msgshdr.syssize / sizeof(sysconnect)); i++) {
|
||||
fread(&System, sizeof(sysconnect), 1, fil);
|
||||
fwrite(&System, sizeof(sysconnect), 1, tfil);
|
||||
MsgCrc = upd_crc32((char *)&System, MsgCrc, sizeof(sysconnect));
|
||||
}
|
||||
fclose(fil);
|
||||
if (work)
|
||||
working(0, 0, 0);
|
||||
|
||||
return offset;
|
||||
return offset;
|
||||
}
|
||||
|
||||
|
||||
@@ -714,7 +714,8 @@ void MsgGlobal(void)
|
||||
|
||||
menu = select_menu(13);
|
||||
switch (menu) {
|
||||
case 0: return;
|
||||
case 0: tidy_grlist(&mgr);
|
||||
return;
|
||||
case 1: a1 = PullUplink((char *)"AKA TO DELETE");
|
||||
break;
|
||||
case 2: a2 = PullUplink((char *)"AKA TO ADD");
|
||||
@@ -991,6 +992,7 @@ void MsgGlobal(void)
|
||||
}
|
||||
if (tfil != NULL)
|
||||
fclose(tfil);
|
||||
tfil = NULL;
|
||||
}
|
||||
|
||||
working(0, 0, 0);
|
||||
@@ -1099,6 +1101,9 @@ int EditMsgRec(int Area)
|
||||
Syslog('+', "Saved message area record %d", Area);
|
||||
}
|
||||
}
|
||||
if (tfil != NULL)
|
||||
fclose(tfil);
|
||||
tfil = NULL;
|
||||
IsDoing("Browsing Menu");
|
||||
return 0;
|
||||
case 1: E_STR( 6,16,40,msgs.Name, "The ^Name^ of this area")
|
||||
|
@@ -270,10 +270,10 @@ void CloseNoderec(int Force)
|
||||
}
|
||||
|
||||
chmod(fin, 0640);
|
||||
unlink(fout);
|
||||
working(1, 0, 0);
|
||||
free(fin);
|
||||
free(fout);
|
||||
unlink(fout);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
* Purpose ...............: TIC Areas Setup Program
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2002
|
||||
* Copyright (C) 1997-2003
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@@ -611,7 +611,8 @@ void TicGlobal(void)
|
||||
|
||||
menu = select_menu(7);
|
||||
switch (menu) {
|
||||
case 0: return;
|
||||
case 0: tidy_grlist(&mgr);
|
||||
return;
|
||||
case 1: a1 = PullUplink((char *)"AKA TO DELETE");
|
||||
break;
|
||||
case 2: a2 = PullUplink((char *)"AKA TO ADD");
|
||||
@@ -900,6 +901,9 @@ int EditTicRec(int Area)
|
||||
Syslog('+', "Saved tic record %d", Area);
|
||||
}
|
||||
}
|
||||
if (ttfil != NULL)
|
||||
fclose(ttfil);
|
||||
ttfil = NULL;
|
||||
IsDoing("Browsing Menu");
|
||||
free(temp);
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user