2003-02-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Tue, 4 Feb 2003 00:40:42 +0000 (00:40 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Tue, 4 Feb 2003 00:40:42 +0000 (00:40 -0000)
* appdomain.c: fixed loading assemblies from PrivateBinPath.

svn path=/trunk/mono/; revision=11185

mono/metadata/ChangeLog
mono/metadata/appdomain.c

index cecd1d9ad1c4a31ba5a263b728b90160d7409b5e..88cda8cda6f771c574282a750c4c1ff231235d21 100644 (file)
@@ -1,3 +1,7 @@
+2003-02-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * appdomain.c: fixed loading assemblies from PrivateBinPath.
+
 2003-02-03  Patrik Torstensson
        * appdomain.[c|h], domain.c : 
         - Added support for getting a domain via domain id
index 3889423dca3be2b35a1cfc49aee2cafff7d681d1..b00f678f0e9b798a7a3f0c34b234491b131738e1 100644 (file)
@@ -425,14 +425,25 @@ set_domain_search_path (MonoDomain *domain)
        tmp [npaths] = NULL;
        if (setup->application_base) {
                *tmp = mono_string_to_utf8 (setup->application_base);
+               /* FIXME: is this needed? */
+               if (strncmp (*tmp, "file://", 7) == 0) {
+                       gchar *file = *tmp;
+                       *tmp = g_strdup (*tmp + 7);
+                       g_free (file);
+               }
+               
        } else {
                *tmp = g_strdup ("");
        }
 
-       tmp++;
-       npaths--;
-       for (i = 0; i < npaths; i++)
-               tmp [i] = pvt_split [i];
+       for (i = 1; pvt_split && i < npaths; i++) {
+               if (*tmp [0] == '\0' || g_path_is_absolute (pvt_split [i - 1])) {
+                       tmp [i] = g_strdup (pvt_split [i - 1]);
+                       continue;
+               }
+
+               tmp [i] = g_build_filename (tmp [0], pvt_split [i - 1], NULL);
+       }
 
        g_strfreev (pvt_split);
 }