[pypy-commit] pypy py3.5: fix 0c5a75555005, DLOpenError msg must be str not unicode

mattip pypy.commits at gmail.com
Mon Jan 8 04:24:52 EST 2018


Author: Matti Picus <matti.picus at gmail.com>
Branch: py3.5
Changeset: r93637:caa299dc43a2
Date: 2018-01-08 11:24 +0200
http://bitbucket.org/pypy/pypy/changeset/caa299dc43a2/

Log:	fix 0c5a75555005, DLOpenError msg must be str not unicode

diff --git a/pypy/module/_rawffi/interp_rawffi.py b/pypy/module/_rawffi/interp_rawffi.py
--- a/pypy/module/_rawffi/interp_rawffi.py
+++ b/pypy/module/_rawffi/interp_rawffi.py
@@ -154,7 +154,7 @@
         msg = e.msg if we_are_translated() else repr(e.msg)
     else:
         msg = 'unspecified error'
-    return oefmt(space.w_OSError, 'Cannot load library %s: %s', filename, msg)
+    return oefmt(space.w_OSError, 'Cannot load library %s: %8', filename, msg)
 
 
 class W_CDLL(W_Root):
diff --git a/rpython/rlib/rdynload.py b/rpython/rlib/rdynload.py
--- a/rpython/rlib/rdynload.py
+++ b/rpython/rlib/rdynload.py
@@ -228,7 +228,9 @@
         res = rwin32.LoadLibrary(name)
         if not res:
             err = rwin32.GetLastError_saved()
-            raise DLOpenError(rwin32.FormatErrorW(err))
+            ustr = rwin32.FormatErrorW(err)
+            # DLOpenError unicode msg breaks translation of cpyext create_extension_module
+            raise DLOpenError(ustr.encode('utf-8'))
         return res
 
     def dlclose(handle):


More information about the pypy-commit mailing list