From 4787e41b90ab53d7bf2e9f6187d003dfc12c200e Mon Sep 17 00:00:00 2001 From: Michiel Broek Date: Fri, 15 Mar 2002 20:55:47 +0000 Subject: [PATCH] Auto remove double noderecords --- mbsetup/m_node.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/mbsetup/m_node.c b/mbsetup/m_node.c index e7908ec8..63605a3c 100644 --- a/mbsetup/m_node.c +++ b/mbsetup/m_node.c @@ -226,17 +226,18 @@ void CloseNoderec(int Force) for (tmp = nod; tmp; tmp = tmp->next) { fseek(fi, tmp->pos, SEEK_SET); fread(&nodes, nodeshdr.recsize, 1, fi); - crc2 = upd_crc32((char *)&nodes, crc2, nodeshdr.recsize); + crc2 = upd_crc32((char *)&nodes, crc2, 100); if (crc2 == crc1) - WriteError("Removing double noderecord %s", nodes.Sysop); - else + WriteError("Removing double noderecord %s %s", nodes.Sysop, aka2str(nodes.Aka[0])); + else { fwrite(&nodes, nodeshdr.recsize, 1, fo); - for (i = 0; i < ((nodeshdr.filegrp + nodeshdr.mailgrp) / sizeof(group)); i++) { + for (i = 0; i < ((nodeshdr.filegrp + nodeshdr.mailgrp) / sizeof(group)); i++) { fread(&group, sizeof(group), 1, fi); - if (crc2 != crc1) - fwrite(&group, sizeof(group), 1, fo); + fwrite(&group, sizeof(group), 1, fo); + } } crc1 = crc2; + crc2 = 0xffffffff; } tidy_stlist(&nod);