[pypy-commit] pypy default: SetValueEx(REG_DWORD): support None and longs.
arigo
noreply at buildbot.pypy.org
Sun Sep 28 09:10:36 CEST 2014
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r73734:2962561471e0
Date: 2014-09-28 09:10 +0200
http://bitbucket.org/pypy/pypy/changeset/2962561471e0/
Log: SetValueEx(REG_DWORD): support None and longs.
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
@@ -266,10 +266,16 @@
buf = None
if typ == rwinreg.REG_DWORD:
- if space.isinstance_w(w_value, space.w_int):
+ if space.is_none(w_value) or (
+ space.isinstance_w(w_value, space.w_int) or
+ space.isinstance_w(w_value, space.w_long)):
+ if space.is_none(w_value):
+ value = r_uint(0)
+ else:
+ value = space.c_uint_w(w_value)
buflen = rffi.sizeof(rwin32.DWORD)
buf1 = lltype.malloc(rffi.CArray(rwin32.DWORD), 1, flavor='raw')
- buf1[0] = space.uint_w(w_value)
+ buf1[0] = value
buf = rffi.cast(rffi.CCHARP, buf1)
elif typ == rwinreg.REG_SZ or typ == rwinreg.REG_EXPAND_SZ:
More information about the pypy-commit
mailing list