]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/boot/pc/iso.c
9boot: replace strrchr() call with a loop and strchr() for ignoring bang path prefixes
[plan9front.git] / sys / src / boot / pc / iso.c
index 9f0d010aa1f073f964a14c2bd6f0fac350c99bfc..d5e083cea2ae6e00f77e884ab8708dc0634f1bb1 100644 (file)
@@ -39,6 +39,11 @@ struct Dir
 
 int readsect(ulong drive, ulong lba, void *buf);
 
+void
+unload(void)
+{
+}
+
 int
 read(void *f, void *data, int len)
 {
@@ -71,7 +76,7 @@ close(void *f)
 static int
 isowalk(Extend *ex, int drive, char *path)
 {
-       char name[Maxpath], pad, *end;
+       char name[Maxpath], c, *end;
        int i;
        Dir d;
 
@@ -97,8 +102,16 @@ isowalk(Extend *ex, int drive, char *path)
                        break;
                i = d.dirlen - (Dirsz + d.namelen);
                while(i-- > 0)
-                       read(ex, &pad, 1);
-               name[d.namelen] = 0;
+                       read(ex, &c, 1);
+               for(i=0; i<d.namelen; i++){
+                       c = name[i];
+                       if(c >= 'A' && c <= 'Z'){
+                               c -= 'A';
+                               c += 'a';
+                       }
+                       name[i] = c;
+               }
+               name[i] = 0;
                while(*path == '/')
                        path++;
                if((end = strchr(path, '/')) == 0)
@@ -147,7 +160,7 @@ start(void *sp)
        readn(&ex, origin, ex.len);
        close(&ex);
 
-       if(isowalk(f = &ex, drive, "plan9.ini")){
+       if(isowalk(f = &ex, drive, "/cfg/plan9.ini")){
                print("no config\r\n");
                f = 0;
        }