diff --git a/tst/memfs-dotnet/Program.cs b/tst/memfs-dotnet/Program.cs index 24aa67b7..613408db 100644 --- a/tst/memfs-dotnet/Program.cs +++ b/tst/memfs-dotnet/Program.cs @@ -948,13 +948,15 @@ namespace memfs FileNode FileNode = (FileNode)FileNode0; IEnumerator Enumerator = (IEnumerator)Context; - if (null != FileNode.MainFileNode) - FileNode = FileNode.MainFileNode; - if (null == Enumerator) { - List StreamFileNames = - new List(FileNodeMap.GetStreamFileNames(FileNode)); + if (null != FileNode.MainFileNode) + FileNode = FileNode.MainFileNode; + + List StreamFileNames = new List(); + if (0 == (FileNode.FileInfo.FileAttributes & (UInt32)FileAttributes.Directory)) + StreamFileNames.Add(FileNode.FileName); + StreamFileNames.AddRange(FileNodeMap.GetStreamFileNames(FileNode)); Context = Enumerator = StreamFileNames.GetEnumerator(); } @@ -966,11 +968,7 @@ namespace memfs { int Index = FullFileName.IndexOf(':'); if (0 > Index) - { - if (0 != (FileNode.FileInfo.FileAttributes & (UInt32)FileAttributes.Directory)) - continue; StreamName = ""; - } else StreamName = FullFileName.Substring(Index + 1); StreamSize = StreamFileNode.FileInfo.FileSize;