diff --git a/src/cffi.h b/src/cffi.h index f6bbbeae..d1f3918b 100644 --- a/src/cffi.h +++ b/src/cffi.h @@ -124,6 +124,17 @@ struct Pointer{ CType& ctype = vm->py_cast(args[1]); return vm->new_object(self.ptr, ctype); }); + + vm->bind_method<0>(type, "get", [](VM* vm, pkpy::Args& args) { + Pointer& self = vm->py_cast(args[0]); + return self.get(vm); + }); + + vm->bind_method<1>(type, "set", [](VM* vm, pkpy::Args& args) { + Pointer& self = vm->py_cast(args[0]); + self.set(vm, args[1]); + return vm->None; + }); } template @@ -291,7 +302,7 @@ void add_module_c(VM* vm){ Pointer& p = vm->py_cast(args[0]); return vm->new_object(strdup(p.cast()), ctype_t("char_")); }else{ - vm->TypeError("strdup() argument must be 'str' or 'c._ptr'"); + vm->TypeError("strdup() argument must be 'str' or 'char*'"); return vm->None; } });