memfs-dotnet: fix GetDescendantFileNames

This commit is contained in:
Bill Zissimopoulos 2017-09-25 12:53:08 -07:00
parent 5194536ec3
commit 3ede1a5c70

View File

@ -188,15 +188,21 @@ namespace memfs
} }
public IEnumerable<String> GetDescendantFileNames(FileNode FileNode) public IEnumerable<String> GetDescendantFileNames(FileNode FileNode)
{ {
String MinName = "\\"; yield return FileNode.FileName;
String MaxName = "]"; String MinName = FileNode.FileName + ":";
String MaxName = FileNode.FileName + ";";
foreach (String Name in Set.GetViewBetween(MinName, MaxName))
if (Name.Length > MinName.Length)
yield return Name;
MinName = "\\";
MaxName = "]";
if ("\\" != FileNode.FileName) if ("\\" != FileNode.FileName)
{ {
MinName = FileNode.FileName; MinName = FileNode.FileName + "\\";
MaxName = FileNode.FileName + "]"; MaxName = FileNode.FileName + "]";
} }
foreach (String Name in Set.GetViewBetween(MinName, MaxName)) foreach (String Name in Set.GetViewBetween(MinName, MaxName))
if (Name == MinName || Name.Length > MinName.Length) if (Name.Length > MinName.Length)
yield return Name; yield return Name;
} }