diff --git a/SabreTools.Library/Data/Constants.cs b/SabreTools.Library/Data/Constants.cs index 25d5c96a..ffad4136 100644 --- a/SabreTools.Library/Data/Constants.cs +++ b/SabreTools.Library/Data/Constants.cs @@ -3,6 +3,12 @@ using System.Reflection; using SabreTools.Library.Tools; +#if MONO +using System.IO; +#else +using Alphaleonis.Win32.Filesystem; +#endif + namespace SabreTools.Library.Data { /// @@ -92,8 +98,8 @@ namespace SabreTools.Library.Data #region Database schema public const string HeadererDbSchema = "Headerer"; - public const string HeadererFileName = "Headerer.sqlite"; - public const string HeadererConnectionString = "Data Source=" + HeadererFileName + ";Version = 3;"; + public static string HeadererFileName = Path.Combine(Globals.ExeDir, "Headerer.sqlite"); + public static string HeadererConnectionString = "Data Source=" + HeadererFileName + ";Version = 3;"; #endregion diff --git a/SabreTools.Library/Skippers/Skipper.cs b/SabreTools.Library/Skippers/Skipper.cs index 61c0c419..7c60ca15 100644 --- a/SabreTools.Library/Skippers/Skipper.cs +++ b/SabreTools.Library/Skippers/Skipper.cs @@ -107,8 +107,8 @@ namespace SabreTools.Library.Skippers // Get the information from the rule first SkipperRule rule = new SkipperRule { - StartOffset = 0, - EndOffset = 0, + StartOffset = null, + EndOffset = null, Operation = HeaderSkipOperation.None, Tests = new List(), SourceFile = Path.GetFileNameWithoutExtension(filename), diff --git a/SabreTools.Library/Skippers/SkipperRule.cs b/SabreTools.Library/Skippers/SkipperRule.cs index 790878d3..f626e840 100644 --- a/SabreTools.Library/Skippers/SkipperRule.cs +++ b/SabreTools.Library/Skippers/SkipperRule.cs @@ -44,10 +44,7 @@ namespace SabreTools.Library.Skippers } // Create the output directory if it doesn't already - if (!Directory.Exists(Path.GetDirectoryName(output))) - { - Directory.CreateDirectory(Path.GetDirectoryName(output)); - } + Utilities.EnsureOutputDirectory(Path.GetDirectoryName(output)); Globals.Logger.User("Attempting to apply rule to '{0}'", input); success = TransformStream(Utilities.TryOpenRead(input), Utilities.TryCreate(output)); diff --git a/SabreTools.Library/Tools/DatabaseTools.cs b/SabreTools.Library/Tools/DatabaseTools.cs index 38d5d80a..c1e75a2c 100644 --- a/SabreTools.Library/Tools/DatabaseTools.cs +++ b/SabreTools.Library/Tools/DatabaseTools.cs @@ -67,7 +67,6 @@ namespace SabreTools.Library.Tools type = type.ToLowerInvariant(); // Make sure the file exists - db = Path.Combine(Globals.ExeDir, db); if (!File.Exists(db)) { SqliteConnection.CreateFile(db); diff --git a/SabreTools.Library/Tools/Utilities.cs b/SabreTools.Library/Tools/Utilities.cs index 416ce255..91475ae1 100644 --- a/SabreTools.Library/Tools/Utilities.cs +++ b/SabreTools.Library/Tools/Utilities.cs @@ -1437,10 +1437,7 @@ namespace SabreTools.Library.Tools public static bool DetectSkipperAndTransform(string file, string outDir, bool nostore) { // Create the output directory if it doesn't exist - if (!String.IsNullOrWhiteSpace(outDir) && !Directory.Exists(outDir)) - { - Directory.CreateDirectory(outDir); - } + EnsureOutputDirectory(outDir, create: true); Globals.Logger.User("\nGetting skipper information for '{0}'", file);