@@ -15,6 +15,7 @@ const ufuncType = PyNULL()
15
15
const format_traceback = PyNULL ()
16
16
const pyproperty = PyNULL ()
17
17
const jlfun2pyfun = PyNULL ()
18
+ const c_void_p_Type = PyNULL ()
18
19
19
20
# other global constants initialized at runtime are defined via Ref
20
21
# or are simply left as non-const values
@@ -72,16 +73,8 @@ function __init__()
72
73
# xrange type (or range in Python 3)
73
74
pyxrange[] = @pyglobalobj (:PyRange_Type )
74
75
75
- # cache ctypes.c_void_p type and function if available
76
- vpt, pvp = try
77
- (pyimport (" ctypes" )[" c_void_p" ],
78
- p:: Ptr -> pycall (c_void_p_Type, PyObject, UInt (p)))
79
- catch # fallback to CObject
80
- (@pyglobalobj (:PyCObject_FromVoidPtr ),
81
- p:: Ptr -> PyObject (ccall (pycobject_new, PyPtr, (Ptr{Void}, Ptr{Void}), p, C_NULL )))
82
- end
83
- global const c_void_p_Type = vpt
84
- global const py_void_p = pvp
76
+ # ctypes.c_void_p for Ptr types
77
+ copy! (c_void_p_Type, pyimport (" ctypes" )[" c_void_p" ])
85
78
86
79
# traceback.format_tb function, for show(PyError)
87
80
copy! (format_traceback, pyimport (" traceback" )[" format_tb" ])
0 commit comments