2004-12-03 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / metadata / mono-config.c
index 3fdc9ae8f89bb58d1e5e7cd14d6ddf0d7b24b248..781663f1ee1a7ef46676e97945015492eefb4961 100644 (file)
@@ -12,6 +12,8 @@
 #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,
@@ -223,6 +225,9 @@ mono_config_parse_file_with_context (ParseState *state, const char *filename)
        char *text;
        gsize len;
 
+       mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_CONFIG,
+                       "Config attempting to parse: '%s'.", filename);
+
        if (!inited)
                mono_config_init ();
 
@@ -256,7 +261,7 @@ get_assembly_filename (MonoImage *image, int state)
 {
        switch (state) {
        case 0:
-               return g_strdup (image->assembly_name);
+               return g_strdup (mono_image_get_name (image));
        default:
                return NULL;
        }
@@ -271,11 +276,11 @@ mono_config_for_assembly (MonoImage *assembly)
        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 ();
 
@@ -329,13 +334,13 @@ mono_config_parse (const char *filename) {
 #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");
@@ -344,11 +349,9 @@ mono_install_get_config_dir (void)
 #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
   }
 }