-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove FILEDosToUnixPathA conversion #78995
Remove FILEDosToUnixPathA conversion #78995
Conversation
All file paths passed to the coreclr PAL are processed by this function to convert backslash characters to forward ones. This is causing problems when users have directories with names containing backslashes. Such problems were recently reported by people. This change removes the `FILEDosToUnixPathA` and fixes one PAL test and one coreclr test that was passing backslash separated paths.
There are a few places in the runtime that have similar problem. Could you please scan and fix them as well? For example, runtime/src/coreclr/utilcode/splitpath.cpp Line 111 in 2f9418d
|
Added When you commit this breaking change:
Tagging @dotnet/compat for awareness of the breaking change. |
This needs to be tracked as a breaking change. |
@elinor-fung Isn't there an issue that is tracking this behavior? |
There may be others, but #75387 is the one I know of (with some other issues closed as duplicates against it). |
NativeAOT is also emulating this: Lines 14 to 15 in 1076cf5
|
@jkotas, @AaronRobinsonMSFT I have scanned the whole coreclr and nativeaot and modified all places where we were either converting the directory separators, or using both or even using backslashes on Unix too. And I've removed |
15fad03
to
48e4852
Compare
Exclude the `foo\\bar` case for non-Windows.
The |
@jkotas, @AaronRobinsonMSFT the CI is green and I believe I have addressed all of the feedback. I'll merge it in the morning unless you have an additional feedback. |
The breaking change issue is here: dotnet/docs#32906 |
All file paths passed to the coreclr PAL are processed by this function to convert backslash characters to forward ones. This is causing problems when users have directories with names containing backslashes. Such problems were recently reported by people.
This change removes the
FILEDosToUnixPathA
and fixes one PAL test and one coreclr test that was passing backslash separated paths.