Update cffi.h

This commit is contained in:
blueloveTH 2023-02-26 16:32:03 +08:00
parent c13bdb55b0
commit 8e2f4ad562

View File

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