fix(mac): clarify file format differences for kmp.inf 5.0 and 6.0

This commit is contained in:
Shawn Schantz 2025-05-12 16:21:30 +07:00
parent c45135d5b2
commit 299f37e48b

View file

@ -22,9 +22,10 @@ static NSString *const kPackage = @"[Package]";
static NSString *const kButtons = @"[Buttons]";
static NSString *const kStartMenu = @"[StartMenu]";
static NSString *const kStartMenuEntries = @"[StartMenuEntries]";
static NSString *const kInfo = @"[Info]";
// for older kmp.inf files, [PackageInfo] may be used instead of [Info]
// kmp.inf files version 5.0 includes a [PackageInfo] section
static NSString *const kPackageInfo = @"[PackageInfo]";
// kmp.inf files version 6.0 and later replace [PackageInfo] with [Info]
static NSString *const kInfo = @"[Info]";
static NSString *const kFiles = @"[Files]";
static NSString *const kAuthor = @"Author";
@ -214,11 +215,12 @@ typedef enum {
contentType = ctStartMenuEntries;
continue;
}
// as of version 6.0, kmp.inf files contain a section [Info]
else if ([[line lowercaseString] hasPrefix:[kInfo lowercaseString]]) {
contentType = ctInfo;
continue;
}
// for older kmp.inf files, [PackageInfo] may be used instead of [Info]
// version 5.0 kmp.inf files contain a [PackageInfo] section instead
else if ([[line lowercaseString] hasPrefix:[kPackageInfo lowercaseString]]) {
contentType = ctInfo;
continue;