Fix cd9660 lookup.
authorAlexander Polakov <polachok@gmail.com>
Tue, 7 Jul 2009 13:52:25 +0000 (17:52 +0400)
committerSimon Schubert <corecode@dragonflybsd.org>
Thu, 23 Jul 2009 10:08:34 +0000 (12:08 +0200)
sys/vfs/isofs/cd9660/cd9660_lookup.c
sys/vfs/isofs/cd9660/iso.h

index 01661ae..e3c5553 100644 (file)
@@ -238,7 +238,12 @@ searchloop:
                                        if (namelen != 1
                                            || ep->name[0] != 0)
                                                goto notfound;
-                               } else if (!(res = isofncmp(name, len, ep->name, namelen, imp->joliet_level))) {
+                                       } else if (!(res = isofncmp(name, len,
+                                                            ep->name, namelen,
+                                                            imp->joliet_level,
+                                                            imp->im_flags,
+                                                            imp->im_d2l,
+                                                            imp->im_l2d))) {
                                        if (isoflags & 2)
                                                ino = isodirino(ep, imp);
                                        else
index 59fdca0..a1ad595 100644 (file)
@@ -291,6 +291,12 @@ isonum_712(unsigned char *p)
         return p[0];
 }
 
+static __inline uint16_t
+isonum_723(unsigned char *p)
+{
+        return (p[0] | p[1] << 8);
+}
+
 #ifndef UNALIGNED_ACCESS
 
 static __inline uint32_t