aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-08-15 16:41:19 -0400
committerLuke <luke.pulverenti@gmail.com>2015-08-15 16:41:19 -0400
commit8e4c9940ee13cb81e0ea8da2b867b517bedc59ec (patch)
tree9e5be861756658ce5ab136c9e26984350ca955fa
parentd685925bbbfbe82367eff0122301a2ef130f0478 (diff)
parent5571bf47367798f23d91c290ba75ef44672e027e (diff)
Merge pull request #1155 from arcticwaters/symlinks
Handle symlinks in library folders
-rw-r--r--MediaBrowser.Api/EnvironmentService.cs4
-rw-r--r--MediaBrowser.Controller/Providers/DirectoryService.cs5
2 files changed, 6 insertions, 3 deletions
diff --git a/MediaBrowser.Api/EnvironmentService.cs b/MediaBrowser.Api/EnvironmentService.cs
index 73b6573a6..457b4709b 100644
--- a/MediaBrowser.Api/EnvironmentService.cs
+++ b/MediaBrowser.Api/EnvironmentService.cs
@@ -221,7 +221,9 @@ namespace MediaBrowser.Api
/// <returns>IEnumerable{FileSystemEntryInfo}.</returns>
private IEnumerable<FileSystemEntryInfo> GetFileSystemEntries(GetDirectoryContents request)
{
- var entries = new DirectoryInfo(request.Path).EnumerateFileSystemInfos().Where(i =>
+ // using EnumerateFileSystemInfos doesn't handle reparse points (symlinks)
+ var entries = new DirectoryInfo(request.Path).EnumerateDirectories("*", SearchOption.TopDirectoryOnly)
+ .Concat<FileSystemInfo>(new DirectoryInfo(request.Path).EnumerateFiles("*", SearchOption.TopDirectoryOnly)).Where(i =>
{
if (!request.IncludeHidden && i.Attributes.HasFlag(FileAttributes.Hidden))
{
diff --git a/MediaBrowser.Controller/Providers/DirectoryService.cs b/MediaBrowser.Controller/Providers/DirectoryService.cs
index 9e549dcf3..79ffb0d01 100644
--- a/MediaBrowser.Controller/Providers/DirectoryService.cs
+++ b/MediaBrowser.Controller/Providers/DirectoryService.cs
@@ -58,8 +58,9 @@ namespace MediaBrowser.Controller.Providers
try
{
- var list = new DirectoryInfo(path)
- .EnumerateFileSystemInfos("*", SearchOption.TopDirectoryOnly);
+ // using EnumerateFileSystemInfos doesn't handle reparse points (symlinks)
+ var list = new DirectoryInfo(path).EnumerateDirectories("*", SearchOption.TopDirectoryOnly)
+ .Concat<FileSystemInfo>(new DirectoryInfo(path).EnumerateFiles("*", SearchOption.TopDirectoryOnly));
// Seeing dupes on some users file system for some reason
foreach (var item in list)