Browse Source

Fixed version matching

Platin21 1 year ago
parent
commit
bb94f4d129
1 changed files with 66 additions and 59 deletions
  1. 66 59
      src/bug_report.cpp

+ 66 - 59
src/bug_report.cpp

@@ -824,17 +824,17 @@ gb_internal void report_os_info() {
 			{"20G624",   {20,  6,  0}, "macOS", {"Big Sur",       {11,  6,  6}}},
 			{"20G630",   {20,  6,  0}, "macOS", {"Big Sur",       {11,  6,  7}}},
 			{"20G730",   {20,  6,  0}, "macOS", {"Big Sur",       {11,  6,  8}}},
-            {"20G817",   {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   0}}},
-            {"20G918",   {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   1}}},
-            {"20G1020",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   2}}},
-            {"20G1116",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   3}}},
-            {"20G1120",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   4}}},
-            {"20G1225",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   5}}},
-            {"20G1231",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   6}}},
-            {"20G1345",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   7}}},
-            {"20G1351",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   8}}},
-            {"20G1426",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   9}}},
-            {"20G1427",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,  10}}},
+			{"20G817",   {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   0}}},
+			{"20G918",   {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   1}}},
+			{"20G1020",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   2}}},
+			{"20G1116",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   3}}},
+			{"20G1120",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   4}}},
+			{"20G1225",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   5}}},
+			{"20G1231",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   6}}},
+			{"20G1345",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   7}}},
+			{"20G1351",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   8}}},
+			{"20G1426",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,   9}}},
+			{"20G1427",  {20,  6,  0}, "macOS", {"Big Sur",       {11, 7,  10}}},
 			{"21A344",   {21,  0,  1}, "macOS", {"Monterey",      {12,  0,  0}}},
 			{"21A559",   {21,  1,  0}, "macOS", {"Monterey",      {12,  0,  1}}},
 			{"21C52",    {21,  2,  0}, "macOS", {"Monterey",      {12,  1,  0}}},
@@ -847,42 +847,42 @@ gb_internal void report_os_info() {
 			{"21F2092",  {21,  5,  0}, "macOS", {"Monterey",      {12,  4,  0}}},
 			{"21G72",    {21,  6,  0}, "macOS", {"Monterey",      {12,  5,  0}}},
 			{"21G83",    {21,  6,  0}, "macOS", {"Monterey",      {12,  5,  1}}},
-            {"21G115",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  0}}},
-            {"21G217",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  1}}},
-            {"21G320",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  2}}},
-            {"21G419",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  3}}},
-            {"21G526",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  4}}},
-            {"21G531",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  5}}},
-            {"21G646",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  6}}},
-            {"21G651",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  7}}},
-            {"21G725",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  8}}},
-            {"21G726",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  9}}},
-            {"21G816",   {21,  6,  0}, "macOS", {"Monterey",      {12,  7,  0}}},
-            {"21G920",   {21,  6,  0}, "macOS", {"Monterey",      {12,  7,  1}}},
-            {"21G1974",  {21,  6,  0}, "macOS", {"Monterey",      {12,  7,  2}}},
-            {"22A380",   {13,  0,  0}, "macOS", {"Ventura",       {22,  1,  0}}},
-            {"22A400",   {13,  0,  1}, "macOS", {"Ventura",       {22,  1,  0}}},
-            {"22C65",    {13,  1,  0}, "macOS", {"Ventura",       {22,  2,  0}}},
-            {"22D49",    {13,  2,  0}, "macOS", {"Ventura",       {22,  3,  0}}},
-            {"22D68",    {13,  2,  1}, "macOS", {"Ventura",       {22,  3,  0}}},
-            {"22E252",   {13,  3,  0}, "macOS", {"Ventura",       {22,  4,  0}}},
-            {"22E261",   {13,  3,  1}, "macOS", {"Ventura",       {22,  4,  0}}},
-            {"22F66",    {13,  4,  0}, "macOS", {"Ventura",       {22,  5,  0}}},
-            {"22F82",    {13,  4,  1}, "macOS", {"Ventura",       {22,  5,  0}}},
-            {"22E772610a", {13, 4, 1}, "macOS", {"Ventura",       {22,  5,  0}}},
-            {"22F770820d", {13, 4, 1}, "macOS", {"Ventura",       {22,  5,  0}}},
-            {"22G74",    {13,  5,  0}, "macOS", {"Ventura",       {22,  6,  0}}},
-            {"22G90",    {13,  5,  1}, "macOS", {"Ventura",       {22,  6,  0}}},
-            {"22G91",    {13,  5,  2}, "macOS", {"Ventura",       {22,  6,  0}}},
-            {"22G120",   {13,  6,  0}, "macOS", {"Ventura",       {22,  6,  0}}},
-            {"22G313",   {13,  6,  1}, "macOS", {"Ventura",       {22,  6,  0}}},
-            {"22G320",   {13,  6,  2}, "macOS", {"Ventura",       {22,  6,  0}}},
-            {"23A344",   {23,  0,  0}, "macOS", {"Sonoma",        {14,  0,  0}}},
-            {"23B74",    {23,  1,  0}, "macOS", {"Sonoma",        {14,  1,  0}}},
-            {"23B81",    {23,  1,  0}, "macOS", {"Sonoma",        {14,  1,  1}}},
-            {"23B92",    {23,  1,  0}, "macOS", {"Sonoma",        {14,  1,  2}}},
-            {"23C64",    {23,  2,  0}, "macOS", {"Sonoma",        {14,  2,  0}}},
-            {"23C71",    {23,  2,  0}, "macOS", {"Sonoma",        {14,  2,  1}}},
+			{"21G115",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  0}}},
+			{"21G217",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  1}}},
+			{"21G320",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  2}}},
+			{"21G419",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  3}}},
+			{"21G526",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  4}}},
+			{"21G531",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  5}}},
+			{"21G646",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  6}}},
+			{"21G651",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  7}}},
+			{"21G725",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  8}}},
+			{"21G726",   {21,  6,  0}, "macOS", {"Monterey",      {12,  6,  9}}},
+			{"21G816",   {21,  6,  0}, "macOS", {"Monterey",      {12,  7,  0}}},
+			{"21G920",   {21,  6,  0}, "macOS", {"Monterey",      {12,  7,  1}}},
+			{"21G1974",  {21,  6,  0}, "macOS", {"Monterey",      {12,  7,  2}}},
+			{"22A380",   {13,  0,  0}, "macOS", {"Ventura",       {22,  1,  0}}},
+			{"22A400",   {13,  0,  1}, "macOS", {"Ventura",       {22,  1,  0}}},
+			{"22C65",    {13,  1,  0}, "macOS", {"Ventura",       {22,  2,  0}}},
+			{"22D49",    {13,  2,  0}, "macOS", {"Ventura",       {22,  3,  0}}},
+			{"22D68",    {13,  2,  1}, "macOS", {"Ventura",       {22,  3,  0}}},
+			{"22E252",   {13,  3,  0}, "macOS", {"Ventura",       {22,  4,  0}}},
+			{"22E261",   {13,  3,  1}, "macOS", {"Ventura",       {22,  4,  0}}},
+			{"22F66",    {13,  4,  0}, "macOS", {"Ventura",       {22,  5,  0}}},
+			{"22F82",    {13,  4,  1}, "macOS", {"Ventura",       {22,  5,  0}}},
+			{"22E772610a", {13, 4, 1}, "macOS", {"Ventura",       {22,  5,  0}}},
+			{"22F770820d", {13, 4, 1}, "macOS", {"Ventura",       {22,  5,  0}}},
+			{"22G74",    {13,  5,  0}, "macOS", {"Ventura",       {22,  6,  0}}},
+			{"22G90",    {13,  5,  1}, "macOS", {"Ventura",       {22,  6,  0}}},
+			{"22G91",    {13,  5,  2}, "macOS", {"Ventura",       {22,  6,  0}}},
+			{"22G120",   {13,  6,  0}, "macOS", {"Ventura",       {22,  6,  0}}},
+			{"22G313",   {13,  6,  1}, "macOS", {"Ventura",       {22,  6,  0}}},
+			{"22G320",   {13,  6,  2}, "macOS", {"Ventura",       {22,  6,  0}}},
+			{"23A344",   {23,  0,  0}, "macOS", {"Sonoma",        {14,  0,  0}}},
+			{"23B74",    {23,  1,  0}, "macOS", {"Sonoma",        {14,  1,  0}}},
+			{"23B81",    {23,  1,  0}, "macOS", {"Sonoma",        {14,  1,  1}}},
+			{"23B92",    {23,  1,  0}, "macOS", {"Sonoma",        {14,  1,  2}}},
+			{"23C64",    {23,  2,  0}, "macOS", {"Sonoma",        {14,  2,  0}}},
+			{"23C71",    {23,  2,  0}, "macOS", {"Sonoma",        {14,  2,  1}}},
 		};
 
 
@@ -914,37 +914,44 @@ gb_internal void report_os_info() {
 
 		// Scan table for match on BUILD
 		int macos_release_count = sizeof(macos_release_map) / sizeof(macos_release_map[0]);
-		Darwin_To_Release match = {};
-
+		Darwin_To_Release build_match = {};
+		Darwin_To_Release kernel_match = {};
+	
 		for (int build = 0; build < macos_release_count; build++) {
 			Darwin_To_Release rel = macos_release_map[build];
-
+			
 			// Do we have an exact match on the BUILD?
 			if (gb_strcmp(rel.build, (const char *)build_buffer) == 0) {
-				match = rel;
+				build_match = rel;
 				break;
 			}
-
+			
 			// Do we have an exact Darwin match?
 			if (rel.darwin[0] == major && rel.darwin[1] == minor && rel.darwin[2] == patch) {
-				match = rel;
-				break;
+				kernel_match = rel;
 			}
-
+	
 			// Major kernel version needs to match exactly,
 			if (rel.darwin[0] == major) {
 				// No major version match yet.
-				if (!match.os_name) {
-					match = rel;
+				if (!kernel_match.os_name) {
+					kernel_match = rel;
 				}
 				if (minor >= rel.darwin[1]) {
-					match = rel;
+					kernel_match = rel;
 					if (patch >= rel.darwin[2]) {
-						match = rel;
+						kernel_match = rel;
 					}
 				}
 			}
 		}
+	
+		Darwin_To_Release match = {};
+		if(!build_match.build) {
+			match = kernel_match;
+		} else {
+			match = build_match;
+		}
 
 		if (match.os_name) {
 			gb_printf("%s %s %d", match.os_name, match.release.name, match.release.version[0]);