Author: gonzalo
Date: 2006-09-13 11:34:21 -0400 (Wed, 13 Sep 2006)
New Revision: 65358

Modified:
   trunk/mono/mono/metadata/ChangeLog
   trunk/mono/mono/metadata/assembly.c
Log:
2006-09-13 Gonzalo Paniagua Javier <[EMAIL PROTECTED]>

        * assembly.c: don't append .exe/.dll when the filename already contains
        one of those extensions.



Modified: trunk/mono/mono/metadata/ChangeLog
===================================================================
--- trunk/mono/mono/metadata/ChangeLog  2006-09-13 15:14:23 UTC (rev 65357)
+++ trunk/mono/mono/metadata/ChangeLog  2006-09-13 15:34:21 UTC (rev 65358)
@@ -1,3 +1,8 @@
+2006-09-13 Gonzalo Paniagua Javier <[EMAIL PROTECTED]>
+
+       * assembly.c: don't append .exe/.dll when the filename already contains
+       one of those extensions.
+
 2006-09-12  Martin Baulig  <[EMAIL PROTECTED]>
 
        * class.c (mono_bounded_array_class_get): Also add `IList<object>'

Modified: trunk/mono/mono/metadata/assembly.c
===================================================================
--- trunk/mono/mono/metadata/assembly.c 2006-09-13 15:14:23 UTC (rev 65357)
+++ trunk/mono/mono/metadata/assembly.c 2006-09-13 15:34:21 UTC (rev 65358)
@@ -2141,6 +2141,7 @@
        MonoAssemblyName maped_aname, maped_name_pp;
        int ext_index;
        const char *ext;
+       int len;
 
        aname = mono_assembly_remap_version (aname, &maped_aname);
        
@@ -2165,12 +2166,16 @@
                return mono_assembly_load_corlib (mono_get_runtime_info (), 
status);
        }
 
+       len = strlen (aname->name);
        for (ext_index = 0; ext_index < 2; ext_index ++) {
                ext = ext_index == 0 ? ".dll" : ".exe";
-               if (strstr (aname->name, ".dll"))
+               if (len > 4 && (!strcmp (aname->name + len - 4, ".dll") || 
!strcmp (aname->name + len - 4, ".exe"))) {
                        filename = g_strdup (aname->name);
-               else
+                       /* Don't try appending .dll/.exe if it already has one 
of those extensions */
+                       ext_index++;
+               } else {
                        filename = g_strconcat (aname->name, ext, NULL);
+               }
 
                result = mono_assembly_load_from_gac (aname, filename, status, 
refonly);
                if (result) {

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to