From owner-freebsd-bugs Sun Nov 1 03:00:03 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id DAA13021 for freebsd-bugs-outgoing; Sun, 1 Nov 1998 03:00:03 -0800 (PST) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id DAA12947 for ; Sun, 1 Nov 1998 03:00:00 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id DAA23504; Sun, 1 Nov 1998 03:00:01 -0800 (PST) Date: Sun, 1 Nov 1998 03:00:01 -0800 (PST) Message-Id: <199811011100.DAA23504@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.ORG From: Joachim Kuebart Subject: Re: kern/5038: FreeBSD can't read MS Joliet CDs. Reply-To: Joachim Kuebart Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR kern/5038; it has been noted by GNATS. From: Joachim Kuebart To: lxv@nest.org Cc: freebsd-gnats-submit@freebsd.org, joki@kuebart.stuttgart.netsurf.de Subject: Re: kern/5038: FreeBSD can't read MS Joliet CDs. Date: Sun, 1 Nov 1998 11:52:48 +0100 (CET) Alex Vasylenko wrote: > hi, > > below is a diff from -stable (as of 10/30) sources to support Joliet > extensions to cd9660 filesystem (author Joachim Kuebart > ) ... > > --Alex. > > > ===== ~/s/src/sys/isofs/cd9660 > diff -u orig/cd9660_rrip.c ./cd9660_rrip.c > --- orig/cd9660_rrip.c Sun Aug 17 06:28:37 1997 > +++ ./cd9660_rrip.c Fri Oct 30 23:48:14 1998 > @@ -516,12 +518,11 @@ > * it will be padding 1 byte after the name > */ > pwhead = isodir->name + isonum_711(isodir->name_len); > - if (!(isonum_711(isodir->name_len)&1)) > - pwhead++; > + isochar(isodir->name, pwhead, ana->imp->joliet_level, &c); > + pwhead += isonum_711(isodir->name_len) & 1; > > /* If it's not the '.' entry of the root dir obey SP field */ > - if (*isodir->name != 0 > - || isonum_733(isodir->extent) != ana->imp->root_extent) > + if (c != 0 || isonum_733(isodir->extent) != ana->imp->root_extent) > pwhead += ana->imp->rr_skip; > else > pwhead += ana->imp->rr_skip0; This patch broke RRIP for me. It should be: ===== ~/s/src/sys/isofs/cd9660 diff -u orig/cd9660_rrip.c ./cd9660_rrip.c --- orig/cd9660_rrip.c Sun Aug 17 06:28:37 1997 +++ ./cd9660_rrip.c Fri Oct 30 23:48:14 1998 @@ -518,10 +520,10 @@ pwhead = isodir->name + isonum_711(isodir->name_len); if (!(isonum_711(isodir->name_len)&1)) pwhead++; + isochar(isodir->name, pwhead, ana->imp->joliet_level, &c); /* If it's not the '.' entry of the root dir obey SP field */ - if (*isodir->name != 0 - || isonum_733(isodir->extent) != ana->imp->root_extent) + if (c != 0 || isonum_733(isodir->extent) != ana->imp->root_extent) pwhead += ana->imp->rr_skip; else pwhead += ana->imp->rr_skip0; I'm sorry I forgot to submit a follow-up when I noticed that. This applies to the -current patch as well, of course. cu Jo --------------------------------------------------------------------- Pray that there's intelligent life Joachim Kuebart Somewhere up in space Stuttgart, Germany 'Cause there's bugger all down here on earth. --- Monty Python To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message