]> git.saurik.com Git - apple/bootx.git/commitdiff
BootX-59.1.1.tar.gz mac-os-x-1032 mac-os-x-1033 mac-os-x-1034 mac-os-x-1035 mac-os-x-1036 mac-os-x-1037 mac-os-x-1038 mac-os-x-1039 v59.1.1
authorApple <opensource@apple.com>
Fri, 19 Dec 2003 22:39:23 +0000 (22:39 +0000)
committerApple <opensource@apple.com>
Fri, 19 Dec 2003 22:39:23 +0000 (22:39 +0000)
bootx.tproj/sl.subproj/main.c

index e06392c55d1f65c07b4e89c50d98c54a382b4e9c..d1a1e6aaddc8f23ce95c5d01816e09c6a5f4ae82 100644 (file)
@@ -932,7 +932,8 @@ static long GetBootPaths(void)
       
       // Get just the partition number
       strncpy(gBootFile, gBootDevice + cnt + 1, cnt2 - cnt - 1);
-      partNum = atoi(gBootFile);
+      partNum = strtol(gBootFile, 0, 10);
+      if (partNum == 0) partNum = strtol(gBootFile, 0, 16);
       
       // Adjust the partition number.
       // Pass 0 & 1, no offset. Pass 2 & 3, offset 1, Pass 4 & 5, offset 2.
@@ -942,18 +943,18 @@ static long GetBootPaths(void)
       strncpy(gBootFile, gBootDevice, cnt + 1);
       sprintf(gBootFile + cnt + 1, "%d,%s\\mach_kernel",
              partNum, ((gBootSourceNumber & 1) ? "" : "\\"));
-
+      
       // and the cache file name
-
+      
       bzero(gCacheNameAdler + 64, sizeof(gBootFile));
       strcpy(gCacheNameAdler + 64, gBootFile);
       adler32 = Alder32(gCacheNameAdler, sizeof(gCacheNameAdler));
-
+      
       strncpy(gBootKernelCacheFile, gBootDevice, cnt + 1);
       sprintf(gBootKernelCacheFile + cnt + 1, 
                "%d,\\System\\Library\\Caches\\com.apple.kernelcaches\\kernelcache.%08lX", partNum, adler32);
       break;
-
+      
     default:
       printf("Failed to infer Boot Device Type.\n");
       return -1;