Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r93468:72a8c93b5914
Date: 2017-12-18 13:18 +0100
http://bitbucket.org/pypy/pypy/changeset/72a8c93b5914/

Log:    Use FormatErrorW() instead of the bogus
        space.newtext(FormatError()), because FormatError() does not return
        utf8 at all

diff --git a/pypy/interpreter/error.py b/pypy/interpreter/error.py
--- a/pypy/interpreter/error.py
+++ b/pypy/interpreter/error.py
@@ -621,12 +621,12 @@
     if rwin32.WIN32 and isinstance(e, WindowsError):
         winerror = e.winerror
         try:
-            msg = rwin32.FormatError(winerror)
+            msg = rwin32.FormatErrorW(winerror)
         except ValueError:
-            msg = 'Windows Error %d' % winerror
+            msg = u'Windows Error %d' % winerror
         w_errno = space.w_None
         w_winerror = space.newint(winerror)
-        w_msg = space.newtext(msg)
+        w_msg = space.newunicode(msg)
     else:
         errno = e.errno
         if errno == EINTR:
diff --git a/pypy/module/_cffi_backend/cerrno.py 
b/pypy/module/_cffi_backend/cerrno.py
--- a/pypy/module/_cffi_backend/cerrno.py
+++ b/pypy/module/_cffi_backend/cerrno.py
@@ -26,5 +26,5 @@
     from rpython.rlib.rwin32 import GetLastError_alt_saved, FormatError
     if code == -1:
         code = GetLastError_alt_saved()
-    message = FormatError(code)
-    return space.newtuple([space.newint(code), space.newtext(message)])
+    message = FormatErrorW(code)
+    return space.newtuple([space.newint(code), space.newunicode(message)])
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
@@ -628,7 +628,7 @@
 if _MS_WINDOWS:
     @unwrap_spec(code=int)
     def FormatError(space, code):
-        return space.newtext(rwin32.FormatError(code))
+        return space.newunicode(rwin32.FormatErrorW(code))
 
     @unwrap_spec(hresult=int)
     def check_HRESULT(space, hresult):
diff --git a/pypy/module/_winreg/interp_winreg.py 
b/pypy/module/_winreg/interp_winreg.py
--- a/pypy/module/_winreg/interp_winreg.py
+++ b/pypy/module/_winreg/interp_winreg.py
@@ -8,10 +8,10 @@
 from rpython.rlib.rarithmetic import r_uint, intmask
 
 def raiseWindowsError(space, errcode, context):
-    message = rwin32.FormatError(errcode)
+    message = rwin32.FormatErrorW(errcode)
     raise OperationError(space.w_WindowsError,
                          space.newtuple([space.newint(errcode),
-                                         space.newtext(message)]))
+                                         space.newunicode(message)]))
 
 class W_HKEY(W_Root):
     def __init__(self, space, hkey):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to