[pypy-svn] r72956 - pypy/trunk/pypy/interpreter

fijal at codespeak.net fijal at codespeak.net
Sat Mar 27 16:47:59 CET 2010


Author: fijal
Date: Sat Mar 27 16:47:57 2010
New Revision: 72956

Modified:
   pypy/trunk/pypy/interpreter/error.py
Log:
also try to handle windows error, sketchy, no tests on linux


Modified: pypy/trunk/pypy/interpreter/error.py
==============================================================================
--- pypy/trunk/pypy/interpreter/error.py	(original)
+++ pypy/trunk/pypy/interpreter/error.py	Sat Mar 27 16:47:57 2010
@@ -344,7 +344,7 @@
 else:
     _WINDOWS = True
 
-    def wrap_windowserror(space, e):
+    def wrap_windowserror(space, e, filename=None):
         from pypy.rlib import rwin32
 
         winerror = e.winerror
@@ -353,16 +353,19 @@
         except ValueError:
             msg = 'Windows Error %d' % winerror
         exc = space.w_WindowsError
-        w_error = space.call_function(exc,
-                                      space.wrap(winerror),
-                                      space.wrap(msg))
+        if filename is not None:
+            w_error = space.call_function(exc, space.wrap(winerror),
+                                          space.wrap(msg), space.wrap(filename))
+        else:
+            w_error = space.call_function(exc, space.wrap(winerror),
+                                          space.wrap(msg))
         return OperationError(exc, w_error)
 
 def wrap_oserror(space, e, filename=None, exception_name='w_OSError'): 
     assert isinstance(e, OSError)
 
     if _WINDOWS and isinstance(e, WindowsError):
-        return wrap_windowserror(space, e)
+        return wrap_windowserror(space, e, filename)
 
     errno = e.errno
     try:



More information about the Pypy-commit mailing list