Chameleon

Chameleon Commit Details

Date:2010-08-10 13:48:39 (13 years 7 months ago)
Author:Azimutz
Commit:349
Parents: 348
Message:Search rd for override config file. Also as there's no search for /Extra path, search OS specific folders instead. Now all previous functionality can be performed from within bt(0,0)/Extra folder. Well, not yet; gMacOSVersion is not initialized at this point so, checking OS specific folders still doesn't work.
Changes:
M/branches/azimutz/CleanCut/i386/libsaio/stringTable.c

File differences

branches/azimutz/CleanCut/i386/libsaio/stringTable.c
652652
653653
654654
655
655656
657
656658
657659
658660
......
663665
664666
665667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
666687
667688
668689
{
char dirSpecBplist[128] = ""; //Azi:alloc - reminder
const char*override_pathname = NULL;
const char*filename = "com.apple.Boot.plist";
int count, ret, fd, len = 0;
extern char gMacOSVersion;
// Take in account user overriding the override :P
if (getValueForKey(kTestConfigKey, &override_pathname, &len, &bootInfo->bootConfig))
if (fd >= 0) goto success_fd;
}
// Check rd's root for override config.
sprintf(dirSpecBplist, "rd(0,0)/%s", filename);
fd = open(dirSpecBplist, 0);
if (fd >= 0) goto success_fd;
// Check OS specific folders.
sprintf(dirSpecBplist, "bt(0,0)/Extra/%s/%s", &gMacOSVersion, filename);
fd = open(dirSpecBplist, 0);
//if (fd >= 0) goto success_fd;
//Azi: i really don't dig these two!
// "/Extra/com.apple.Boot.plist",
// "/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
// These, no way to test, need advice.
// "/com.apple.boot.P/Library/Preferences/SystemConfiguration/com.apple.Boot.plist);
// "/com.apple.boot.R/Library/Preferences/SystemConfiguration/com.apple.Boot.plist);
// "/com.apple.boot.S/Library/Preferences/SystemConfiguration/com.apple.Boot.plist);
success_fd:
if (fd >= 0)

Archive Download the corresponding diff file

Revision: 349