From owner-freebsd-ports Sun Sep 27 13:18:09 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id NAA08953 for freebsd-ports-outgoing; Sun, 27 Sep 1998 13:18:09 -0700 (PDT) (envelope-from owner-freebsd-ports@FreeBSD.ORG) Received: from shire.domestic.de ([194.163.77.116]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id NAA08845 for ; Sun, 27 Sep 1998 13:17:56 -0700 (PDT) (envelope-from joki@kuebart.stuttgart.netsurf.de) Received: from yacht.domestic.de (yacht.domestic.de [192.168.1.4]) by shire.domestic.de (8.8.8/8.8.7) with ESMTP id WAA28927 for ; Sun, 27 Sep 1998 22:17:33 +0200 (CEST) (envelope-from joki@shire.domestic.de) From: Joachim Kuebart Received: (from joki@localhost) by yacht.domestic.de (8.9.1/8.8.7) id WAA16156 for ports@freebsd.org; Sun, 27 Sep 1998 22:20:03 +0200 (CEST) (envelope-from joki@shire.domestic.de) Message-Id: <199809272020.WAA16156@yacht.domestic.de> Subject: Removed bug from mkisofs To: ports@FreeBSD.ORG Date: Sun, 27 Sep 1998 22:20:02 +0200 (CEST) X-Mailer: ELM [version 2.4ME+ PL32 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi, this bug prevented me from burning a multi session CD. With this fix applied it worked. The new patches/patch-ad should be like shown below. This patch is not yet commited to the original author of mkisofs, maybe we should do that. --- multi.c.orig Tue Jun 2 05:00:25 1998 +++ multi.c Sun Sep 27 22:17:14 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 @@ -492,7 +493,7 @@ { free(dirbuff); } - + return rtn; } cu Jo --------------------------------------------------------------------- FreeBSD: The Power to Serve Joachim Kuebart Tel: +49 711 653706 I like to think. Germany To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message