lib/pycall/pyerror.rb in pycall-0.1.0.alpha.20170307 vs lib/pycall/pyerror.rb in pycall-0.1.0.alpha.20170308
- old
+ new
@@ -5,12 +5,12 @@
ptype = ptrs + 0 * ptrs.type_size
pvalue = ptrs + 1 * ptrs.type_size
ptraceback = ptrs + 2 * ptrs.type_size
LibPython.PyErr_Fetch(ptype, pvalue, ptraceback)
LibPython.PyErr_NormalizeException(ptype, pvalue, ptraceback)
- type = PyTypeObject.new(ptype.read(:pointer))
- value = PyObject.new(pvalue.read(:pointer))
- traceback = PyObject.new(ptraceback.read(:pointer))
+ type = PyObject.new(LibPython::PyObjectStruct.new(ptype.read(:pointer)))
+ value = PyObject.new(LibPython::PyObjectStruct.new(pvalue.read(:pointer)))
+ traceback = PyObject.new(LibPython::PyObjectStruct.new(ptraceback.read(:pointer)))
new(type, value, traceback)
end
def initialize(type, value, traceback)
@type = type