From 1127e96f264cd4fdb5ebc68d30107c935d3899dd Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 18 Apr 2024 15:34:44 -0400 Subject: [PATCH] Convert ListEmpty to use new safe enumerators --- SabreTools.IO/Extensions/IOExtensions.cs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/SabreTools.IO/Extensions/IOExtensions.cs b/SabreTools.IO/Extensions/IOExtensions.cs index 451bc95..cfe94a3 100644 --- a/SabreTools.IO/Extensions/IOExtensions.cs +++ b/SabreTools.IO/Extensions/IOExtensions.cs @@ -119,20 +119,20 @@ namespace SabreTools.IO.Extensions // If it does and it is empty, return a blank enumerable #if NET20 || NET35 - if (!Directory.GetFiles(root, "*", SearchOption.AllDirectories).Any()) + if (!root!.SafeGetFileSystemEntries("*").Any()) #else - if (!Directory.EnumerateFileSystemEntries(root, "*", SearchOption.AllDirectories).Any()) + if (!root!.SafeEnumerateFileSystemEntries("*", SearchOption.AllDirectories).Any()) #endif return []; // Otherwise, get the complete list #if NET20 || NET35 - return Directory.GetDirectories(root, "*", SearchOption.AllDirectories) - .Where(dir => !Directory.GetFiles(dir, "*", SearchOption.AllDirectories).Any()) + return root!.SafeGetDirectories("*", SearchOption.AllDirectories) + .Where(dir => !dir.SafeGetFileSystemEntries("*").Any()) .ToList(); #else - return Directory.EnumerateDirectories(root, "*", SearchOption.AllDirectories) - .Where(dir => !Directory.EnumerateFileSystemEntries(dir, "*", SearchOption.AllDirectories).Any()) + return root!.SafeEnumerateDirectories("*", SearchOption.AllDirectories) + .Where(dir => !dir.SafeEnumerateFileSystemEntries("*", SearchOption.AllDirectories).Any()) .ToList(); #endif } @@ -315,6 +315,13 @@ namespace SabreTools.IO.Extensions var enumerable = Directory.EnumerateFileSystemEntries(path, searchPattern); return enumerable.SafeEnumerate(); } + + /// + public static IEnumerable SafeEnumerateFileSystemEntries(this string path, string searchPattern, SearchOption searchOption) + { + var enumerable = Directory.EnumerateFileSystemEntries(path, searchPattern, searchOption); + return enumerable.SafeEnumerate(); + } #endif #endregion