From 4686d955f079b59e36c60f44ece9aaa27bad1998 Mon Sep 17 00:00:00 2001
From: "Rob Swindell (on Windows)" <rob@synchro.net>
Date: Mon, 25 Sep 2023 16:38:23 -0700
Subject: [PATCH] Replace many references to "Message" with "File" when
 scanning a file base

This could use more cleanup (e.g. instances of "MSGERR:") and in the summary
report there are still mentions of "message" after scanning a file base.
---
 src/sbbs3/chksmb.c | 42 ++++++++++++++++++++++--------------------
 1 file changed, 22 insertions(+), 20 deletions(-)

diff --git a/src/sbbs3/chksmb.c b/src/sbbs3/chksmb.c
index 247c07ee40..be8017c158 100644
--- a/src/sbbs3/chksmb.c
+++ b/src/sbbs3/chksmb.c
@@ -1,4 +1,4 @@
-/* Synchronet message base (SMB) validity checker */
+/* Synchronet message/file base (SMB) validity checker */
 
 /****************************************************************************
  * @format.tab-size 4		(Plain Text/Source Code File Header)			*
@@ -126,8 +126,8 @@ char *usage="\nusage: chksmb [-opts] <filespec.SHD>\n"
 			"\n"
 			" opts:\n"
 			"       b - beep on error\n"
-			"       s - stop after errored message base\n"
-			"       p - pause after errored messsage base\n"
+			"       s - stop after errored message/file base\n"
+			"       p - pause after errored messsage/file base\n"
 			"       h - don't check hash file\n"
 			"       a - don't check allocation files\n"
 			"       t - don't check translation strings\n"
@@ -180,7 +180,7 @@ int main(int argc, char **argv)
 	hash_t**	hashes;
 	time_t		now=time(NULL);
 
-	fprintf(stderr,"\nCHKSMB v3.20-%s %s/%s SMBLIB %s - Check Synchronet Message Base\n"
+	fprintf(stderr,"\nCHKSMB v3.20-%s %s/%s SMBLIB %s - Check Synchronet Message/File Base\n"
 		,PLATFORM_DESC, GIT_BRANCH, GIT_HASH, smb_lib_ver());
 
 	if(argc<2) {
@@ -263,6 +263,8 @@ int main(int argc, char **argv)
 		continue;
 	}
 
+	const char* base_type = (smb.status.attr & SMB_FILE_DIRECTORY) ? "File" : "Message";
+
 	/* File size sanity checks here: */
 
 	shd_length=filelength(fileno(smb.shd_fp));
@@ -422,11 +424,11 @@ int main(int argc, char **argv)
 			if(idx->number == msg.hdr.number)
 				continue;
 			if(idx->offset > l && idx->offset < l + (smb_hdrblocks(msg.hdr.length) * SHD_BLOCK_LEN)) {
-				fprintf(stderr,"%sMessage header overlap\n", beep);
+				fprintf(stderr,"%s%s header overlap\n", base_type, beep);
 				msgerr=TRUE;
 				if(extinfo)
-					printf("MSGERR: Header for message #%lu overlaps with message #%lu\n"
-						,(ulong)idxrec[n].number, (ulong)msg.hdr.number);
+					printf("ERR: Header for %s #%lu overlaps with #%lu\n"
+						,base_type, (ulong)idxrec[n].number, (ulong)msg.hdr.number);
 				hdr_overlap++;
 				break;
 			}
@@ -484,8 +486,8 @@ int main(int argc, char **argv)
 		}
 
 		if(msg.hdr.type != smb_msg_type(msg.hdr.attr)) {
-			fprintf(stderr,"%sMessage type mismatch (%d, expected %d)\n"
-				,beep, msg.hdr.type, smb_msg_type(msg.hdr.attr));
+			fprintf(stderr,"%s%s type mismatch (%d, expected %d)\n"
+				,beep, base_type, msg.hdr.type, smb_msg_type(msg.hdr.attr));
 			msgerr=TRUE;
 			types++;
 		}
@@ -551,7 +553,7 @@ int main(int argc, char **argv)
 		else {
 			actdatblocks+=smb_datblocks(data_length);
 			if(msg.hdr.number>smb.status.last_msg) {
-				fprintf(stderr,"%sOut-Of-Range message number\n",beep);
+				fprintf(stderr,"%sOut-Of-Range %s number\n",beep, base_type);
 				msgerr=TRUE;
 				if(extinfo)
 					printf("MSGERR: Header number (%"PRIu32") greater than last (%"PRIu32")\n"
@@ -654,7 +656,7 @@ int main(int argc, char **argv)
 				}
 			}
 			if(msg.hdr.number==0) {
-				fprintf(stderr,"%sZero message number\n",beep);
+				fprintf(stderr,"%sZero %s number\n",beep, base_type);
 				msgerr=TRUE;
 				if(extinfo)
 					printf("MSGERR: Header number is zero (invalid)\n");
@@ -663,7 +665,7 @@ int main(int argc, char **argv)
 			if(number) {
 				for(m=0;m<headers;m++)
 					if(number[m] && msg.hdr.number==number[m]) {
-						fprintf(stderr,"%sDuplicate message number\n",beep);
+						fprintf(stderr,"%sDuplicate %s number\n",beep, base_type);
 						msgerr=TRUE;
 						if(extinfo)
 							printf("MSGERR: Header number (%"PRIu32") duplicated\n"
@@ -784,7 +786,7 @@ int main(int argc, char **argv)
 		headers++;
 		if(msgerr && extinfo) {
 			printf("\n");
-			printf("%-16s %s\n","message base",smb.file);
+			printf("%-16s %s\n",(smb.status.attr & SMB_FILE_DIRECTORY) ? "file base":"message base",smb.file);
 			smb_dump_msghdr(stdout,&msg);
 			printf("\n");
 		}
@@ -850,7 +852,7 @@ int main(int argc, char **argv)
 		}
 		for(m=0;m<l;m++)
 			if(number[m]==idx.number) {
-				fprintf(stderr,"%sDuplicate message number\n",beep);
+				fprintf(stderr,"%sDuplicate %s number\n",beep, base_type);
 				dupenum++;
 				break;
 			}
@@ -866,12 +868,12 @@ int main(int argc, char **argv)
 			break;
 		}
 		if(idx.number==0) {
-			fprintf(stderr,"%sZero message number\n",beep);
+			fprintf(stderr,"%sZero %s number\n",beep, base_type);
 			idxzeronum++;
 			break;
 		}
 		if(idx.number>smb.status.last_msg) {
-			fprintf(stderr,"%sOut-Of-Range message number\n",beep);
+			fprintf(stderr,"%sOut-Of-Range %s number\n",beep, base_type);
 			idxnumerr++;
 			break;
 		}
@@ -890,7 +892,7 @@ int main(int argc, char **argv)
 			fprintf(stderr,"#%-5lu (%06lX) 2nd Pass ",number[m],offset[m]);
 			for(n=0;n<m;n++)
 				if(number[m] && number[n] && number[m]<number[n]) {
-					fprintf(stderr,"%sMisordered message number\n",beep);
+					fprintf(stderr,"%sMisordered %s number\n",beep, base_type);
 					misnumbered++;
 					number[n]=0;
 					break;
@@ -917,7 +919,7 @@ int main(int argc, char **argv)
 			if(!fread(&hash,sizeof(hash),1,smb.hash_fp))
 				break;
 			if(hash.number==0 || hash.number > smb.status.last_msg)
-				fprintf(stderr,"\r%sInvalid message number (%u > %u)\n", beep, hash.number, smb.status.last_msg), badhash++, print_hash(&hash);
+				fprintf(stderr,"\r%sInvalid %s number (%u > %u)\n", beep, base_type, hash.number, smb.status.last_msg), badhash++, print_hash(&hash);
 			else if(hash.time < 0x40000000 || hash.time > (ulong)now + (60 * 60))
 				fprintf(stderr,"\r%sInvalid time (0x%08"PRIX32")\n", beep, hash.time), badhash++, print_hash(&hash);
 			else if(hash.length < 1 || hash.length > 1024*1024*1024)
@@ -1129,7 +1131,7 @@ int main(int argc, char **argv)
 			,"Overlapping Headers"
 			,hdr_overlap);
 
-	printf("\n%s Message Base ",smb.file);
+	printf("\n%s %s Base ",smb.file, base_type);
 	if(/* (headers-deleted)!=smb.status.total_msgs || */
 		total!=smb.status.total_msgs
 		|| (headers-deleted)!=total-delidx
@@ -1176,7 +1178,7 @@ int main(int argc, char **argv)
 	}
 
 	if(errors)
-		printf("\n'fixsmb' can be used to repair many message base problems.\n");
+		printf("\n'fixsmb' can be used to repair many message/file base problems.\n");
 
 	return(errors);
 }
-- 
GitLab