1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-04 22:33:27 +00:00
freebsd-ports/sysutils/mkisofs/files/patch-ad
David E. O'Brien 36145bd251 Fix bug related to multi-session burning.
PR:				posted to ports@freebsd.org
Submitted by:	Joachim Kuebart <joki@kuebart.stuttgart.netsurf.de>
1998-10-31 06:42:02 +00:00

33 lines
1014 B
Plaintext

--- multi.c.orig Mon Jun 1 20:00:25 1998
+++ multi.c Fri Oct 30 22:36:03 1998
@@ -296,7 +296,7 @@
idr = (struct iso_directory_record *) &dirbuff[i];
if(idr->length[0] == 0)
{
- i = (i + SECTOR_SIZE - 1) & ~(SECTOR_SIZE - 1);
+ i = ROUND_UP(i);
continue;
}
(*nent)++;
@@ -324,7 +324,7 @@
idr = (struct iso_directory_record *) &dirbuff[i];
if(idr->length[0] == 0)
{
- i = (i + SECTOR_SIZE - 1) & ~(SECTOR_SIZE - 1);
+ i = ROUND_UP(i);
continue;
}
*pnt = (struct directory_entry *) e_malloc(sizeof(**rtn));
@@ -436,8 +436,9 @@
*/
if( tt_extent != 0 && tt_size != 0 )
{
- tt_buf = (unsigned char *) e_malloc(tt_size);
- readsecs(tt_extent, tt_buf, tt_size/SECTOR_SIZE);
+ tt_buf = (unsigned char *) e_malloc(ROUND_UP(tt_size));
+ memset(tt_buf, 0, tt_size);
+ readsecs(tt_extent, tt_buf, (tt_size + SECTOR_SIZE - 1) / SECTOR_SIZE);
/*
* Loop through the file, examine each entry, and attempt to