cd9660_vnops.c (43301) | cd9660_vnops.c (45773) |
---|---|
1/*- 2 * Copyright (c) 1994 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley 6 * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension 7 * Support code is derived from software contributed to Berkeley 8 * by Atsushi Murai (amurai@spec.co.jp). --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95 | 1/*- 2 * Copyright (c) 1994 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley 6 * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension 7 * Support code is derived from software contributed to Berkeley 8 * by Atsushi Murai (amurai@spec.co.jp). --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95 |
39 * $Id: cd9660_vnops.c,v 1.53 1998/07/04 20:45:30 julian Exp $ | 39 * $Id: cd9660_vnops.c,v 1.54 1999/01/27 21:49:55 dillon Exp $ |
40 */ 41 42#include <sys/param.h> 43#include <sys/systm.h> 44#include <sys/namei.h> 45#include <sys/kernel.h> 46#include <sys/stat.h> 47#include <sys/buf.h> --- 501 unchanged lines hidden (view full) --- 549 cd9660_rrip_getname(ep,idp->current.d_name, &namelen, 550 &idp->current.d_fileno,imp); 551 idp->current.d_namlen = (u_char)namelen; 552 if (idp->current.d_namlen) 553 error = iso_uiodir(idp,&idp->current,idp->curroff); 554 break; 555 default: /* ISO_FTYPE_DEFAULT || ISO_FTYPE_9660 || ISO_FTYPE_HIGH_SIERRA*/ 556 strcpy(idp->current.d_name,".."); | 40 */ 41 42#include <sys/param.h> 43#include <sys/systm.h> 44#include <sys/namei.h> 45#include <sys/kernel.h> 46#include <sys/stat.h> 47#include <sys/buf.h> --- 501 unchanged lines hidden (view full) --- 549 cd9660_rrip_getname(ep,idp->current.d_name, &namelen, 550 &idp->current.d_fileno,imp); 551 idp->current.d_namlen = (u_char)namelen; 552 if (idp->current.d_namlen) 553 error = iso_uiodir(idp,&idp->current,idp->curroff); 554 break; 555 default: /* ISO_FTYPE_DEFAULT || ISO_FTYPE_9660 || ISO_FTYPE_HIGH_SIERRA*/ 556 strcpy(idp->current.d_name,".."); |
557 switch (ep->name[0]) { 558 case 0: | 557 if (idp->current.d_namlen == 1 && ep->name[0] == 0) { |
559 idp->current.d_namlen = 1; 560 error = iso_uiodir(idp,&idp->current,idp->curroff); | 558 idp->current.d_namlen = 1; 559 error = iso_uiodir(idp,&idp->current,idp->curroff); |
561 break; 562 case 1: | 560 } else if (idp->current.d_namlen == 1 && ep->name[0] == 1) { |
563 idp->current.d_namlen = 2; 564 error = iso_uiodir(idp,&idp->current,idp->curroff); | 561 idp->current.d_namlen = 2; 562 error = iso_uiodir(idp,&idp->current,idp->curroff); |
565 break; 566 default: | 563 } else { |
567 isofntrans(ep->name,idp->current.d_namlen, 568 idp->current.d_name, &namelen, 569 imp->iso_ftype == ISO_FTYPE_9660, | 564 isofntrans(ep->name,idp->current.d_namlen, 565 idp->current.d_name, &namelen, 566 imp->iso_ftype == ISO_FTYPE_9660, |
570 isonum_711(ep->flags)&4); | 567 isonum_711(ep->flags)&4, 568 imp->joliet_level); |
571 idp->current.d_namlen = (u_char)namelen; 572 if (imp->iso_ftype == ISO_FTYPE_DEFAULT) 573 error = iso_shipdir(idp); 574 else 575 error = iso_uiodir(idp,&idp->current,idp->curroff); | 569 idp->current.d_namlen = (u_char)namelen; 570 if (imp->iso_ftype == ISO_FTYPE_DEFAULT) 571 error = iso_shipdir(idp); 572 else 573 error = iso_uiodir(idp,&idp->current,idp->curroff); |
576 break; | |
577 } 578 } 579 if (error) 580 break; 581 582 entryoffsetinblock += reclen; 583 } 584 --- 336 unchanged lines hidden --- | 574 } 575 } 576 if (error) 577 break; 578 579 entryoffsetinblock += reclen; 580 } 581 --- 336 unchanged lines hidden --- |