[pypy-svn] r62037 - pypy/trunk/pypy/module/_winreg

afa at codespeak.net afa at codespeak.net
Fri Feb 20 00:47:05 CET 2009


Author: afa
Date: Fri Feb 20 00:47:02 2009
New Revision: 62037

Modified:
   pypy/trunk/pypy/module/_winreg/interp_winreg.py
Log:
space.newtuple wants wrapped items


Modified: pypy/trunk/pypy/module/_winreg/interp_winreg.py
==============================================================================
--- pypy/trunk/pypy/module/_winreg/interp_winreg.py	(original)
+++ pypy/trunk/pypy/module/_winreg/interp_winreg.py	Fri Feb 20 00:47:02 2009
@@ -9,7 +9,8 @@
 def raiseWindowsError(space, errcode, context):
     message = rwin32.FormatError(errcode)
     raise OperationError(space.w_WindowsError,
-                         space.newtuple([errcode, message]))
+                         space.newtuple([space.wrap(errcode),
+                                         space.wrap(message)]))
 
 class W_HKEY(Wrappable):
     def __init__(self, hkey):
@@ -326,7 +327,7 @@
     errstring = space.wrap("Could not convert the data to the specified type")
     raise OperationError(space.w_ValueError, errstring)
 
-def convert_from_regdata(space, buf, buflen, typ):
+def convert_from_regdata(buf, buflen, typ):
     if typ == rwinreg.REG_DWORD:
         if not buflen:
             return 0
@@ -420,9 +421,10 @@
                 if ret != 0:
                     raiseWindowsError(space, ret, 'RegQueryValueEx')
                 return space.newtuple([
-                    convert_from_regdata(space, databuf,
-                                         retDataSize[0], retType[0]),
-                    retType[0],
+                    space.wrap(convert_from_regdata(databuf,
+                                                    retDataSize[0],
+                                                    retType[0])),
+                    space.wrap(retType[0]),
                     ])
             finally:
                 lltype.free(retType, flavor='raw')
@@ -553,10 +555,11 @@
                             raiseWindowsError(space, ret, 'RegEnumValue')
 
                         return space.newtuple([
-                            rffi.charp2str(valuebuf),
-                            convert_from_regdata(space, databuf,
-                                                 retDataSize[0], retType[0]),
-                            retType[0],
+                            space.wrap(rffi.charp2str(valuebuf)),
+                            space.wrap(convert_from_regdata(databuf,
+                                                            retDataSize[0],
+                                                            retType[0])),
+                            space.wrap(retType[0]),
                             ])
                     finally:
                         lltype.free(retType, flavor='raw')
@@ -629,7 +632,9 @@
                     raiseWindowsError(space, ret, 'RegQueryInfoKey')
                 l = (ft[0].c_dwLowDateTime +
                      (ft[0].c_dwHighDateTime << 32))
-                return space.newtuple([nSubKeys[0], nValues[0], l])
+                return space.newtuple([space.wrap(nSubKeys[0]),
+                                       space.wrap(nValues[0]),
+                                       space.wrap(l)])
             finally:
                 lltype.free(ft, flavor='raw')
         finally:



More information about the Pypy-commit mailing list