mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-22 20:40:18 +00:00
Update cffi.h
This commit is contained in:
parent
c13bdb55b0
commit
8e2f4ad562
13
src/cffi.h
13
src/cffi.h
@ -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;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user