8
8
#include < string.h>
9
9
#import < Foundation/Foundation.h>
10
10
11
- static void parseSystemVersion (FFOSResult* os)
11
+ static bool parseSystemVersion (FFOSResult* os)
12
12
{
13
13
NSError * error;
14
14
NSString * fileName = @" file:///System/Library/CoreServices/SystemVersion.plist" ;
15
15
NSDictionary * dict = [NSDictionary dictionaryWithContentsOfURL: [NSURL URLWithString: fileName]
16
16
error: &error];
17
17
if (error)
18
- return ;
18
+ return false ;
19
19
20
20
NSString * value;
21
21
@@ -30,6 +30,8 @@ static void parseSystemVersion(FFOSResult* os)
30
30
// macOS 26 Tahoe. #1809
31
31
os->version .chars [0 ] = ' 2' ;
32
32
}
33
+
34
+ return true ;
33
35
}
34
36
35
37
static bool detectOSCodeName (FFOSResult* os)
@@ -86,13 +88,18 @@ void ffDetectOSImpl(FFOSResult* os)
86
88
87
89
ffStrbufSetStatic (&os->id , " macos" );
88
90
89
- if (os->version .length == 0 )
91
+ if (__builtin_expect (os->name .length == 0 , 0 ))
92
+ ffStrbufSetStatic (&os->name , " macOS" );
93
+
94
+ if (__builtin_expect (os->version .length == 0 , 0 ))
90
95
ffSysctlGetString (" kern.osproductversion" , &os->version );
91
96
92
- if (os->buildID .length == 0 )
97
+ if (__builtin_expect ( os->buildID .length == 0 , 0 ) )
93
98
ffSysctlGetString (" kern.osversion" , &os->buildID );
94
99
95
100
ffStrbufAppend (&os->versionID , &os->version );
96
101
97
102
detectOSCodeName (os);
103
+
104
+ ffStrbufSetF (&os->prettyName , " %s %s %s (%s )" , os->name .chars , os->codename .chars , os->version .chars , os->buildID .chars );
98
105
}
0 commit comments