From 26b9f436dade680edf806eece66881e0c218a676 Mon Sep 17 00:00:00 2001 From: Gonzalo Paniagua Javier Date: Tue, 4 Feb 2003 00:40:42 +0000 Subject: [PATCH] 2003-02-04 Gonzalo Paniagua Javier * appdomain.c: fixed loading assemblies from PrivateBinPath. svn path=/trunk/mono/; revision=11185 --- mono/metadata/ChangeLog | 4 ++++ mono/metadata/appdomain.c | 19 +++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog index cecd1d9ad1c..88cda8cda6f 100644 --- a/mono/metadata/ChangeLog +++ b/mono/metadata/ChangeLog @@ -1,3 +1,7 @@ +2003-02-04 Gonzalo Paniagua Javier + + * 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 diff --git a/mono/metadata/appdomain.c b/mono/metadata/appdomain.c index 3889423dca3..b00f678f0e9 100644 --- a/mono/metadata/appdomain.c +++ b/mono/metadata/appdomain.c @@ -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); } -- 2.25.1