Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
gh-82367: UseFindFirstFile Win32 API inntpath.realpath()#110298
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
gh-82367: UseFindFirstFile Win32 API inntpath.realpath()#110298
Uh oh!
There was an error while loading.Please reload this page.
Conversation
zware left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Uh oh!
There was an error while loading.Please reload this page.
Misc/NEWS.d/next/Windows/2023-10-03-12-30-59.gh-issue-82367.nxwfMx.rst OutdatedShow resolvedHide resolved
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
zooba commentedOct 3, 2023
The code change looks great to me. Awesome job! With Zach's requested doc changes, I think this is good to merge. |
2c49ffc to4590347Compare…ython#110298)* Use `FindFirstFile` Win32 API to fix a bug where `ntpath.realpath()`breaks out of traversing a series of paths where a (handled)`ERROR_ACCESS_DENIED` or `ERROR_SHARING_VIOLATION` occurs.* Update docs to reflect that `ntpath.realpath()` eliminates MS-DOSstyle names.
4590347 tof675a4fCompareghost commentedOct 4, 2023 • edited by ghost
Loading Uh oh!
There was an error while loading.Please reload this page.
edited by ghost
Uh oh!
There was an error while loading.Please reload this page.
…ython#110298)* Use `FindFirstFile` Win32 API to fix a bug where `ntpath.realpath()`breaks out of traversing a series of paths where a (handled)`ERROR_ACCESS_DENIED` or `ERROR_SHARING_VIOLATION` occurs.* Update docs to reflect that `ntpath.realpath()` eliminates MS-DOSstyle names.
d88c757 toe17852cCompareUh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
eryksun left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
LGTM. Thank you, Moonsik, and thanks also for taking the extra time to make the test more robust.
…ython#110298)* Use `FindFirstFile` Win32 API to fix a bug where `ntpath.realpath()`breaks out of traversing a series of paths where a (handled)`ERROR_ACCESS_DENIED` or `ERROR_SHARING_VIOLATION` occurs.* Update docs to reflect that `ntpath.realpath()` eliminates MS-DOSstyle names.
1766bc3 to2b5a29eComparezware commentedOct 5, 2023
Thanks Steve and Eryk for the reviews, and Moonsik for the patch and excellent collaboration! |
…ythonGH-110298)* Use `FindFirstFile` Win32 API to fix a bug where `ntpath.realpath()`breaks out of traversing a series of paths where a (handled)`ERROR_ACCESS_DENIED` or `ERROR_SHARING_VIOLATION` occurs.* Update docs to reflect that `ntpath.realpath()` eliminates MS-DOSstyle names.
The test was added inpythongh-110298, with a fix that was never backportedto 3.12 and below.It was most likely skipped in the GHA run.
Uh oh!
There was an error while loading.Please reload this page.
ntpath.realpath()breaks out of traversing a series of paths where a (handled) ERROR_ACCESS_DENIED or ERROR_SHARING_VIOLATION occurs.Using
FindFirstFileWin32 API, we can query their real name to correct the case and also resolve MS-DOS (also called 8.3) style file names such asC:\\LONGFI~1.TXT.📚 Documentation preview 📚:https://cpython-previews--110298.org.readthedocs.build/