* Al.cs: Ignore AssemblyKeyAttribute in template when KeyFile is null
authorGert Driesen <drieseng@users.sourceforge.net>
Thu, 23 Aug 2007 16:00:58 +0000 (16:00 -0000)
committerGert Driesen <drieseng@users.sourceforge.net>
Thu, 23 Aug 2007 16:00:58 +0000 (16:00 -0000)
or a zero-length string. Ignore AssemblyKeyNameAtribute in template
when KeyName is null or a zero-length string. Fixes bug #82550.

svn path=/trunk/mcs/; revision=84714

mcs/tools/al/Al.cs
mcs/tools/al/ChangeLog

index b86be02016bb8f56d9a816095f546a220373c79e..13b8cd9587c911802ead9d327f44c5e234d33f7e 100644 (file)
@@ -556,7 +556,7 @@ namespace Mono.AssemblyLinker
                                        Report (1044, String.Format ("Couldn't open '{0}' key file.", keyfile));
                                }
 
-#if ONLY_1_1                   
+#if ONLY_1_1
                                AddCattr (typeof (AssemblyKeyFileAttribute),
                                        keyfile);
 #endif
@@ -627,6 +627,9 @@ namespace Mono.AssemblyLinker
                                                        // ignore if specified on command line
                                                        continue;
                                                AssemblyKeyFileAttribute keyFileAttr = (AssemblyKeyFileAttribute) o;
+                                               // ignore null or zero-length keyfile
+                                               if (keyFileAttr.KeyFile == null || keyFileAttr.KeyFile.Length == 0)
+                                                       continue;
                                                keyfile = Path.Combine (Path.GetDirectoryName(templateFile),
                                                        keyFileAttr.KeyFile);
                                        } else if (o is AssemblyDelaySignAttribute) {
@@ -641,6 +644,9 @@ namespace Mono.AssemblyLinker
                                                        // ignore if specified on command line
                                                        continue;
                                                AssemblyKeyNameAttribute keynameAttr = (AssemblyKeyNameAttribute) o;
+                                               // ignore null or zero-length keyname
+                                               if (keynameAttr.KeyName == null || keynameAttr.KeyName.Length == 0)
+                                                       continue;
                                                keyname = keynameAttr.KeyName;
                                        }
                                }
index cc2f9c32e975087c17060cdedf48aad502ca17ee..b05c3db986739141914a3ff0b68744d92b6ac3e9 100644 (file)
@@ -1,3 +1,9 @@
+2007-08-23  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Al.cs: Ignore AssemblyKeyAttribute in template when KeyFile is null 
+       or a zero-length string. Ignore AssemblyKeyNameAtribute in template
+       when KeyName is null or a zero-length string. Fixes bug #82550.
+
 2007-01-15  Gert Driesen  <drieseng@users.sourceforge.net>
 
        * Al.cs: Use DelaySign enum to capture whether a delaysign (+ or -)