Fix bug #485841.
authorAnkit Jain <radical@corewars.org>
Fri, 28 May 2010 07:39:26 +0000 (07:39 -0000)
committerAnkit Jain <radical@corewars.org>
Fri, 28 May 2010 07:39:26 +0000 (07:39 -0000)
* DirectoryScanner.cs (ProcessInclude): Set %(RecursiveDir) only if
the '**' wildcard was found in the original Include.

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

mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ChangeLog
mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/DirectoryScanner.cs

index 7b43f792701256ec17cbd045acc091edbe0057cd..b6d8d4047a14c982bb4373f60fa4b06418ef8adf 100644 (file)
@@ -1,3 +1,9 @@
+2010-05-28  Ankit Jain  <jankit@novell.com>
+
+       Fix bug #485841.
+       * DirectoryScanner.cs (ProcessInclude): Set %(RecursiveDir) only if
+       the '**' wildcard was found in the original Include.
+
 2010-04-10  Ankit Jain  <jankit@novell.com>
 
        * Project.cs (InitializeProperties): Set MSBuildBinPath to the current
index 904a979b851a64f25124bc90e73fc9ca079dce5d..4215deb0fb4f1673f18c9de29b921d9fb254bc2c 100644 (file)
@@ -114,10 +114,12 @@ namespace Microsoft.Build.BuildEngine {
                                        if (!excludedItems.ContainsKey (fi.FullName)) {
                                                TaskItem item = new TaskItem (include_item);
                                                item.ItemSpec = fi.FullName;
-                                               string rec_dir = Path.GetDirectoryName (fi.FullName.Substring (wildcard_offset));
-                                               if (rec_dir.Length > 0)
-                                                       rec_dir += Path.DirectorySeparatorChar;
-                                               item.SetMetadata ("RecursiveDir", rec_dir);
+                                               if (wildcard_offset >= 0) {
+                                                       string rec_dir = Path.GetDirectoryName (fi.FullName.Substring (wildcard_offset));
+                                                       if (rec_dir.Length > 0)
+                                                               rec_dir += Path.DirectorySeparatorChar;
+                                                       item.SetMetadata ("RecursiveDir", rec_dir);
+                                               }
                                                includedItems.Add (item);
                                        }
                                }