Actions
Bug #9699
closedCannot require .so file on Windows if the file path is unicode (Includes patch)
ruby -v:
2.0.0 and later
Backport:
Description
It doesn't seem possible to load a C extension that is inside a non-ascii path.
To reproduce:
- Extract the attached zip file (with a decent unzip program such as 7-zip, that preserves unicode paths)
- cd to where you extracted
- launch irb
- require './foo.rb' (All this does is require a simple so file inside the folder 'てすと')
- You'll see a failure
The culprit is in function dln_load, it uses the ANSI version of LoadLibrary and passes in the char* path given to the function. My patch converts it to wide char and uses LoadLibraryW. I have assumed that the given path is UTF-8 encoded, which seems to work but I am not sure if this is a safe assumption.
I hope the patch is in the right format, I wasn't sure. Thanks for your time!
Bugra
Files
Actions
Like0
Like0Like0Like0Like0Like0Like0