- XCOPY_FIELD (copy, application_base, setup->application_base, error);
- XCOPY_FIELD (copy, application_name, setup->application_name, error);
- XCOPY_FIELD (copy, cache_path, setup->cache_path, error);
- XCOPY_FIELD (copy, configuration_file, setup->configuration_file, error);
- XCOPY_FIELD (copy, dynamic_base, setup->dynamic_base, error);
- XCOPY_FIELD (copy, license_file, setup->license_file, error);
- XCOPY_FIELD (copy, private_bin_path, setup->private_bin_path, error);
- XCOPY_FIELD (copy, private_bin_path_probe, setup->private_bin_path_probe, error);
- XCOPY_FIELD (copy, shadow_copy_directories, setup->shadow_copy_directories, error);
- XCOPY_FIELD (copy, shadow_copy_files, setup->shadow_copy_files, error);
- copy->publisher_policy = setup->publisher_policy;
- copy->path_changed = setup->path_changed;
- copy->loader_optimization = setup->loader_optimization;
- copy->disallow_binding_redirects = setup->disallow_binding_redirects;
- copy->disallow_code_downloads = setup->disallow_code_downloads;
- XCOPY_FIELD (copy, domain_initializer_args, setup->domain_initializer_args, error);
- copy->disallow_appbase_probe = setup->disallow_appbase_probe;
- XCOPY_FIELD (copy, application_trust, setup->application_trust, error);
- XCOPY_FIELD (copy, configuration_bytes, setup->configuration_bytes, error);
- XCOPY_FIELD (copy, serialized_non_primitives, setup->serialized_non_primitives, error);
-
-#undef COPY_FIELD
+#define COPY_VAL(dst,field,type,src) \
+ do { \
+ MONO_HANDLE_SETVAL ((dst), field, type, MONO_HANDLE_GETVAL ((src),field)); \
+ } while (0)
+
+ XCOPY_FIELD (copy, application_base, setup, error);
+ XCOPY_FIELD (copy, application_name, setup, error);
+ XCOPY_FIELD (copy, cache_path, setup, error);
+ XCOPY_FIELD (copy, configuration_file, setup, error);
+ XCOPY_FIELD (copy, dynamic_base, setup, error);
+ XCOPY_FIELD (copy, license_file, setup, error);
+ XCOPY_FIELD (copy, private_bin_path, setup, error);
+ XCOPY_FIELD (copy, private_bin_path_probe, setup, error);
+ XCOPY_FIELD (copy, shadow_copy_directories, setup, error);
+ XCOPY_FIELD (copy, shadow_copy_files, setup, error);
+ COPY_VAL (copy, publisher_policy, MonoBoolean, setup);
+ COPY_VAL (copy, path_changed, MonoBoolean, setup);
+ COPY_VAL (copy, loader_optimization, int, setup);
+ COPY_VAL (copy, disallow_binding_redirects, MonoBoolean, setup);
+ COPY_VAL (copy, disallow_code_downloads, MonoBoolean, setup);
+ XCOPY_FIELD (copy, domain_initializer_args, setup, error);
+ COPY_VAL (copy, disallow_appbase_probe, MonoBoolean, setup);
+ XCOPY_FIELD (copy, application_trust, setup, error);
+ XCOPY_FIELD (copy, configuration_bytes, setup, error);
+ XCOPY_FIELD (copy, serialized_non_primitives, setup, error);
+
+#undef XCOPY_FIELD
+#undef COPY_VAL