@@ -186,21 +186,19 @@ pub const LibCInstallation = struct {
186186 } else if (is_windows ) {
187187 if (! build_options .have_llvm )
188188 return error .WindowsSdkNotFound ;
189- var sdk : * ZigWindowsSDK = undefined ;
190- switch (ZigWindowsSDK .find (& sdk )) {
191- .None = > {
192- defer sdk .free ();
193-
194- try self .findNativeMsvcIncludeDir (args , sdk );
195- try self .findNativeMsvcLibDir (args , sdk );
196- try self .findNativeKernel32LibDir (args , sdk );
197- try self .findNativeIncludeDirWindows (args , sdk );
198- try self .findNativeCrtDirWindows (args , sdk );
199- },
200- .OutOfMemory = > return error .OutOfMemory ,
201- .NotFound = > return error .WindowsSdkNotFound ,
202- .PathTooLong = > return error .WindowsSdkNotFound ,
203- }
189+
190+ var sdk : ZigWindowsSDK = ZigWindowsSDK .find (args .allocator ) catch | err | switch (err ) {
191+ error .NotFound = > return error .WindowsSdkNotFound ,
192+ error .PathTooLong = > return error .WindowsSdkNotFound ,
193+ error .OutOfMemory = > return error .OutOfMemory ,
194+ };
195+ defer sdk .free (args .allocator );
196+
197+ try self .findNativeMsvcIncludeDir (args , & sdk );
198+ try self .findNativeMsvcLibDir (args , & sdk );
199+ try self .findNativeKernel32LibDir (args , & sdk );
200+ try self .findNativeIncludeDirWindows (args , & sdk );
201+ try self .findNativeCrtDirWindows (args , & sdk );
204202 } else if (is_haiku ) {
205203 try self .findNativeIncludeDirPosix (args );
206204 try self .findNativeCrtBeginDirHaiku (args );
@@ -512,8 +510,7 @@ pub const LibCInstallation = struct {
512510 ) FindError ! void {
513511 const allocator = args .allocator ;
514512
515- const msvc_lib_dir_ptr = sdk .msvc_lib_dir_ptr orelse return error .LibCStdLibHeaderNotFound ;
516- const msvc_lib_dir = msvc_lib_dir_ptr [0.. sdk .msvc_lib_dir_len ];
513+ const msvc_lib_dir = sdk .msvc_lib_dir orelse return error .LibCStdLibHeaderNotFound ;
517514 const up1 = fs .path .dirname (msvc_lib_dir ) orelse return error .LibCStdLibHeaderNotFound ;
518515 const up2 = fs .path .dirname (up1 ) orelse return error .LibCStdLibHeaderNotFound ;
519516
@@ -544,8 +541,8 @@ pub const LibCInstallation = struct {
544541 sdk : * ZigWindowsSDK ,
545542 ) FindError ! void {
546543 const allocator = args .allocator ;
547- const msvc_lib_dir_ptr = sdk .msvc_lib_dir_ptr orelse return error .LibCRuntimeNotFound ;
548- self .msvc_lib_dir = try allocator .dupeZ (u8 , msvc_lib_dir_ptr [0 .. sdk . msvc_lib_dir_len ] );
544+ const msvc_lib_dir = sdk .msvc_lib_dir orelse return error .LibCRuntimeNotFound ;
545+ self .msvc_lib_dir = try allocator .dupe (u8 , msvc_lib_dir );
549546 }
550547};
551548
@@ -657,23 +654,19 @@ const Search = struct {
657654
658655fn fillSearch (search_buf : * [2 ]Search , sdk : * ZigWindowsSDK ) []Search {
659656 var search_end : usize = 0 ;
660- if (sdk .path10_ptr ) | path10_ptr | {
661- if (sdk .version10_ptr ) | version10_ptr | {
662- search_buf [search_end ] = Search {
663- .path = path10_ptr [0.. sdk .path10_len ],
664- .version = version10_ptr [0.. sdk .version10_len ],
665- };
666- search_end += 1 ;
667- }
657+ if (sdk .windows10sdk ) | windows10sdk | {
658+ search_buf [search_end ] = .{
659+ .path = windows10sdk .path ,
660+ .version = windows10sdk .version ,
661+ };
662+ search_end += 1 ;
668663 }
669- if (sdk .path81_ptr ) | path81_ptr | {
670- if (sdk .version81_ptr ) | version81_ptr | {
671- search_buf [search_end ] = Search {
672- .path = path81_ptr [0.. sdk .path81_len ],
673- .version = version81_ptr [0.. sdk .version81_len ],
674- };
675- search_end += 1 ;
676- }
664+ if (sdk .windows81sdk ) | windows81sdk | {
665+ search_buf [search_end ] = .{
666+ .path = windows81sdk .path ,
667+ .version = windows81sdk .version ,
668+ };
669+ search_end += 1 ;
677670 }
678671 return search_buf [0.. search_end ];
679672}
0 commit comments