#include <string.h>
#include "mono/metadata/loader.h"
#include "mono/metadata/mono-config.h"
+#include "mono/metadata/metadata-internals.h"
+#include "mono/utils/mono-logger.h"
static void start_element (GMarkupParseContext *context,
const gchar *element_name,
char *text;
gsize len;
+ mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_CONFIG,
+ "Config attempting to parse: '%s'.", filename);
+
if (!inited)
mono_config_init ();
{
switch (state) {
case 0:
- return g_strdup (image->assembly_name);
+ return g_strdup (mono_image_get_name (image));
default:
return NULL;
}
const char *home;
state.assembly = assembly;
- cfg_name = g_strdup_printf ("%s.config", assembly->name);
+ cfg_name = g_strdup_printf ("%s.config", mono_image_get_filename (assembly));
mono_config_parse_file_with_context (&state, cfg_name);
g_free (cfg_name);
- cfg_name = g_strdup_printf ("%s.config", assembly->assembly_name);
+ cfg_name = g_strdup_printf ("%s.config", mono_image_get_name (assembly));
home = g_get_home_dir ();
#endif
}
-static char *mono_cfg_dir = NULL;
+static const char *mono_cfg_dir = NULL;
static void
mono_install_get_config_dir (void)
{
#ifdef PLATFORM_WIN32
- int i;
+ gchar *prefix;
#endif
mono_cfg_dir = g_getenv ("MONO_CFG_DIR");
#ifndef PLATFORM_WIN32
mono_cfg_dir = MONO_CFG_DIR;
#else
- mono_cfg_dir = g_build_path (mono_assembly_getrootdir (), "etc", NULL);
- for (i = strlen (mono_cfg_dir) - 1; i >= 0; i--) {
- if (mono_cfg_dir [i] == '/')
- ((char*) mono_cfg_dir) [i] = '\\';
- }
+ prefix = g_path_get_dirname (mono_assembly_getrootdir ());
+ mono_cfg_dir = g_build_filename (prefix, "etc", NULL);
+ g_free (prefix);
#endif
}
}