@@ -14,7 +14,7 @@ struct ZkInternal_DaedalusVm {
1414 std::string string_scope_workaround_cache {};
1515};
1616
17- ZkDaedalusVm* ZkDaedalusVm_load (ZkRead* buf) {
17+ ZkDaedalusVm* ZkDaedalusVm_load (ZkRead* buf, uint8_t flags ) {
1818 ZKC_TRACE_FN ();
1919 ZKC_CHECK_NULL (buf);
2020
@@ -23,10 +23,7 @@ ZkDaedalusVm* ZkDaedalusVm_load(ZkRead* buf) {
2323 script.load (buf);
2424 zenkit::register_all_script_classes (script);
2525
26- auto * vm = new ZkDaedalusVm {
27- zenkit::DaedalusVm {std::move (script), zenkit::DaedalusVmExecutionFlag::ALLOW_NULL_INSTANCE_ACCESS},
28- {},
29- nullptr };
26+ auto * vm = new ZkDaedalusVm {zenkit::DaedalusVm {std::move (script), flags}, {}, nullptr };
3027 vm->handle .register_exception_handler (zenkit::lenient_vm_exception_handler);
3128
3229 vm->handle .register_default_external_custom ([vm](zenkit::DaedalusVm& v, zenkit::DaedalusSymbol& sym) {
@@ -70,28 +67,28 @@ ZkDaedalusVm* ZkDaedalusVm_load(ZkRead* buf) {
7067 }
7168}
7269
73- ZkDaedalusVm* ZkDaedalusVm_loadPath (ZkString path) {
70+ ZkDaedalusVm* ZkDaedalusVm_loadPath (ZkString path, uint8_t flags ) {
7471 ZKC_TRACE_FN ();
7572 ZKC_CHECK_NULL (path);
7673
7774 try {
7875 auto buf = zenkit::Read::from (path);
79- return ZkDaedalusVm_load (buf.get ());
76+ return ZkDaedalusVm_load (buf.get (), flags );
8077 } catch (std::exception const & exc) {
8178 ZKC_LOG_ERROR (" ZkDaedalusVm_load() failed: %s" , exc.what ());
8279 return nullptr ;
8380 }
8481}
8582
86- ZkDaedalusVm* ZkDaedalusVm_loadVfs (ZkVfs* vfs, ZkString name) {
83+ ZkDaedalusVm* ZkDaedalusVm_loadVfs (ZkVfs* vfs, ZkString name, uint8_t flags ) {
8784 ZKC_TRACE_FN ();
8885 ZKC_CHECK_NULL (vfs, name);
8986
9087 auto node = vfs->find (name);
9188 if (node == nullptr ) return nullptr ;
9289
9390 auto rd = node->open_read ();
94- return ZkDaedalusVm_load (rd.get ());
91+ return ZkDaedalusVm_load (rd.get (), flags );
9592}
9693
9794ZKC_DELETER (ZkDaedalusVm)
0 commit comments