[pypy-commit] pypy default: Fix translation
amauryfa
noreply at buildbot.pypy.org
Tue Sep 6 02:03:14 CEST 2011
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch:
Changeset: r47095:517b88c3b7d5
Date: 2011-09-06 02:02 +0200
http://bitbucket.org/pypy/pypy/changeset/517b88c3b7d5/
Log: Fix translation
diff --git a/pypy/module/pwd/interp_pwd.py b/pypy/module/pwd/interp_pwd.py
--- a/pypy/module/pwd/interp_pwd.py
+++ b/pypy/module/pwd/interp_pwd.py
@@ -4,10 +4,12 @@
from pypy.interpreter.gateway import interp2app, unwrap_spec
from pypy.interpreter.error import OperationError, operationerrfmt
+eci = ExternalCompilationInfo(
+ includes=['pwd.h']
+ )
+
class CConfig:
- _compilation_info_ = ExternalCompilationInfo(
- includes=['pwd.h']
- )
+ _compilation_info_ = eci
uid_t = rffi_platform.SimpleType("uid_t")
@@ -26,11 +28,14 @@
passwd_p = lltype.Ptr(config['passwd'])
uid_t = config['uid_t']
-c_getpwuid = rffi.llexternal("getpwuid", [uid_t], passwd_p)
-c_getpwnam = rffi.llexternal("getpwnam", [rffi.CCHARP], passwd_p)
-c_setpwent = rffi.llexternal("setpwent", [], lltype.Void)
-c_getpwent = rffi.llexternal("getpwent", [], passwd_p)
-c_endpwent = rffi.llexternal("endpwent", [], lltype.Void)
+def external(name, args, result, **kwargs):
+ return rffi.llexternal(name, args, result, compilation_info=eci, **kwargs)
+
+c_getpwuid = external("getpwuid", [uid_t], passwd_p)
+c_getpwnam = external("getpwnam", [rffi.CCHARP], passwd_p)
+c_setpwent = external("setpwent", [], lltype.Void)
+c_getpwent = external("getpwent", [], passwd_p)
+c_endpwent = external("endpwent", [], lltype.Void)
def make_struct_passwd(space, pw):
w_passwd_struct = space.getattr(space.getbuiltinmodule('pwd'),
More information about the pypy-commit
mailing list