[pypy-svn] r28367 - pypy/dist/pypy/module/readline
ac at codespeak.net
ac at codespeak.net
Tue Jun 6 13:32:35 CEST 2006
Author: ac
Date: Tue Jun 6 13:32:34 2006
New Revision: 28367
Modified:
pypy/dist/pypy/module/readline/c_readline.py
Log:
(holger, arre) Refine the desired interface with rctypes.
Modified: pypy/dist/pypy/module/readline/c_readline.py
==============================================================================
--- pypy/dist/pypy/module/readline/c_readline.py (original)
+++ pypy/dist/pypy/module/readline/c_readline.py Tue Jun 6 13:32:34 2006
@@ -1,5 +1,6 @@
from pypy.module.readline import Module
-import ctypes
+from ctypes import *
+from pypy.rpython.rctypes.tool.ctypes_platform import Library
#------------------------------------------------------------
# configuration for binding to external readline library
@@ -7,18 +8,19 @@
#
class CConfig:
_header_ = """#include <readline/readline.h>"""
- _libraries_ = ('readline',)
+ readline = Library('readline')
+
+
cconfig = Module.cconfig(CConfig)
-libreadline = cconfig.ctypes_lib['readline']
+libreadline = cconfig.readline
-c_readline = libreadline.readline
-c_readline.restype = ctypes.c_char_p
-
-c_rl_initialize = libreadline.rl_initiliaze
-c_rl_initialize.argtypes = []
-#c_rl_initialize.restype = void
+# get a binding to c library functions and define their args and return types
+# char *readline(char *)
+c_readline = libreadline.get_func('readline', [c_char_p], c_char_p)
+# void rl_initiliaze(void)
+c_rl_initialize = libreadline.get_func('rl_initiliaze', [], None)
#------------------------------------------------------------
# special initialization of readline
More information about the Pypy-commit
mailing list