$NetBSD: patch-cg,v 1.1 2006/02/04 12:05:17 wiz Exp $

--- mkisofs/write.c.orig	2005-08-07 14:50:48.000000000 +0000
+++ mkisofs/write.c
@@ -463,7 +463,7 @@ write_one_file(filename, size, outfile)
 static	char		buffer[SECTOR_SIZE * NSECT];
 	FILE		*infile;
 	off_t		remain;
-	int	use;
+	off_t	use;
 
 
 	if ((infile = fopen(filename, "rb")) == NULL) {
@@ -554,7 +554,10 @@ static	char		buffer[SECTOR_SIZE * NSECT]
 			fflush(stderr);
 		}
 #endif
-		remain -= use;
+		if (use > remain)
+			remain = 0;
+		else
+			remain -= use;
 	}
 	fclose(infile);
 }/* write_one_file(... */
