spritecache.c
changeset 2028 d7686f53adf2
parent 2027 eda8a7e8aad2
child 2123 a273f80580bd
--- a/spritecache.c	Sat Jul 09 00:14:40 2005 +0000
+++ b/spritecache.c	Sat Jul 09 09:24:34 2005 +0000
@@ -745,20 +745,16 @@
 /* Check that the supplied MD5 hash matches that stored for the supplied filename */
 static bool CheckMD5Digest(const MD5File file, md5_byte_t *digest, bool warn)
 {
-	int i, matching_bytes=0;
+	uint i;
 
 	/* Loop through each byte of the file MD5 and the stored MD5... */
-	for (i = 0; i < 16; i++)
-	{
-		if (file.hash[i] == digest[i])
-			matching_bytes++;
-	};
+	for (i = 0; i < 16; i++) if (file.hash[i] != digest[i]) break;
 
 		/* If all bytes of the MD5's match (i.e. the MD5's match)... */
-	if (matching_bytes == 16) {
+	if (i == 16) {
 		return true;
 	} else {
-		if (warn) printf("MD5 of %s is ****INCORRECT**** - File Corrupt.\n", file.filename);
+		if (warn) fprintf(stderr, "MD5 of %s is ****INCORRECT**** - File Corrupt.\n", file.filename);
 		return false;
 	};
 }
@@ -770,10 +766,6 @@
 	FILE *f;
 	char buf[MAX_PATH];
 
-	md5_state_t filemd5state;
-	int len=0;
-	md5_byte_t buffer[1024], digest[16];
-
 	// open file
 	sprintf(buf, "%s%s", _path.data_dir, file.filename);
 	f = fopen(buf, "rb");
@@ -789,12 +781,16 @@
 #endif
 
 	if (f != NULL) {
+		md5_state_t filemd5state;
+		md5_byte_t buffer[1024];
+		md5_byte_t digest[16];
+		size_t len;
+
 		md5_init(&filemd5state);
-		while ((len = fread(buffer, 1, 1024, f)) != 0)
+		while ((len = fread(buffer, 1, sizeof(buffer), f)) != 0)
 			md5_append(&filemd5state, buffer, len);
 
-		if (ferror(f))
-			if (warn) printf("Error Reading from %s \n", buf);
+		if (ferror(f) && warn) fprintf(stderr, "Error Reading from %s \n", buf);
 		fclose(f);
 
 		md5_finish(&filemd5state, digest);
@@ -816,22 +812,14 @@
 	uint dos = 0;
 	uint win = 0;
 
-	for (i = 0; i < 2; i++)
-	  if (FileMD5(files_dos.basic[i], true))
-			dos++;
-	for (i = 0; i < 3; i++)
-	  if (FileMD5(files_dos.landscape[i], true))
-			dos++;
+	for (i = 0; i < 2; i++) if (FileMD5(files_dos.basic[i], true)) dos++;
+	for (i = 0; i < 3; i++) if (FileMD5(files_dos.landscape[i], true)) dos++;
 
-	for (i = 0; i < 2; i++)
-	  if (FileMD5(files_win.basic[i], true))
-			win++;
-	for (i = 0; i < 3; i++)
-	  if (FileMD5(files_win.landscape[i], true))
-			win++;
+	for (i = 0; i < 2; i++) if (FileMD5(files_win.basic[i], true)) win++;
+	for (i = 0; i < 3; i++) if (FileMD5(files_win.landscape[i], true)) win++;
 
 	if (!FileMD5(sample_cat_win, false) && !FileMD5(sample_cat_dos, false))
-		printf("Your sample.cat file is corrupted or missing!\n");
+		fprintf(stderr, "Your sample.cat file is corrupted or missing!\n");
 
 	/*
 	 * forced DOS palette via command line -> leave it that way