Make nested type loading lazier.
[mono.git] / mono / metadata / mono-config.c
index 50e2702acbd1f6bb13bf20a292ef6dc90bdff9a2..8f3b63303858e5d4d658540638c7731f3e63289b 100644 (file)
@@ -39,6 +39,8 @@
 #define CONFIG_OS "aix"
 #elif defined(__hpux)
 #define CONFIG_OS "hpux"
+#elif defined(__HAIKU__)
+#define CONFIG_OS "haiku"
 #else
 #warning Unknown operating system
 #define CONFIG_OS "unknownOS"
@@ -766,21 +768,21 @@ config_assemblybinding_parser = {
 void
 mono_config_parse_assembly_bindings (const char *filename, int amajor, int aminor, void *user_data, void (*infocb)(MonoAssemblyBindingInfo *info, void *user_data))
 {
-       MonoAssemblyBindingInfo info = {
-               .major = amajor,
-               .minor = aminor
-       };
-       ParserUserData pud = {
-               &info,
-               infocb,
-               user_data
-       };
-       ParseState state = {
-               &config_assemblybinding_parser, /* MonoParseHandler */
-               &pud, /* user_data */
-               NULL, /* MonoImage (we don't need it right now)*/
-               TRUE /* We are already inited */
-       };
+       MonoAssemblyBindingInfo info;
+       ParserUserData pud;
+       ParseState state;
+
+       info.major = amajor;
+       info.minor = aminor;
+
+       pud.info = &info;
+       pud.info_parsed = infocb;
+       pud.user_data = user_data;
+
+       state.current = &config_assemblybinding_parser;  /* MonoParseHandler */
+       state.user_data = &pud;
+       state.assembly = NULL; /* MonoImage (we don't need it right now)*/
+       state.inited = TRUE; /* We are already inited */
 
        mono_config_parse_file_with_context (&state, filename);
 }