fixing build error for PrintSystemPathResolver #10056
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
We recently encountered the following build error in WPF:
C:\Users\X\source\repos\wpf\src\Microsoft.DotNet.Wpf\src\System.Printing\CPP\src\PrintSystemPathResolver.cpp(308,50): error C5307: 'int System::String::IndexOf(wchar_t,int)': argument (1) converted from 'char' to 'wchar_t'. Missing 'L' encoding-prefix for character literal? [C:\Users\ X\source\repos\wpf\src\Microsoft.DotNet.Wpf\src\System.Printing\System.Printing.vcxproj]
Cause
The error suggests that the IndexOf method expects a wchar_t type for the character literal, but a char is currently being passed. This is due to recent changes in the IndexOf method for System::String or updates in compiler behavior.
Fix
This PR addresses the issue by converting the character to a wide character using the L prefix, ensuring compatibility with the expected wchar_t type.
Testing
Built locally
Risk
Low, doesn't introduce any behavior change
Microsoft Reviewers: Open in CodeFlow