aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Server.Implementations/StartupOptions.cs4
-rw-r--r--Jellyfin.Server/Program.cs17
2 files changed, 17 insertions, 4 deletions
diff --git a/Emby.Server.Implementations/StartupOptions.cs b/Emby.Server.Implementations/StartupOptions.cs
index fca60afb8..f4bb94f74 100644
--- a/Emby.Server.Implementations/StartupOptions.cs
+++ b/Emby.Server.Implementations/StartupOptions.cs
@@ -7,8 +7,8 @@ namespace Emby.Server.Implementations
/// </summary>
public class StartupOptions
{
- [Option('d', "programdata", Required = false, HelpText = "Path to use for program data (databases files etc.).")]
- public string PathProgramData { get; set; }
+ [Option('d', "datadir", Required = false, HelpText = "Path to use for the data folder (databases files etc.).")]
+ public string PathData { get; set; }
[Option('c', "configdir", Required = false, HelpText = "Path to use for config data (user policies and puctures).")]
public string PathConfig { get; set; }
diff --git a/Jellyfin.Server/Program.cs b/Jellyfin.Server/Program.cs
index dbfd59ebf..2f7edee65 100644
--- a/Jellyfin.Server/Program.cs
+++ b/Jellyfin.Server/Program.cs
@@ -27,6 +27,7 @@ using ILogger = Microsoft.Extensions.Logging.ILogger;
namespace Jellyfin.Server
{
using CommandLine;
+ using System.Text.RegularExpressions;
public static class Program
{
@@ -37,6 +38,18 @@ namespace Jellyfin.Server
public static async Task Main(string[] args)
{
+ // For backwards compatibility.
+ // Modify any input arguments now which start with single-hyphen to POSIX standard
+ // double-hyphen to allow parsing by CommandLineParser package.
+ var pattern = @"^(-[^-\s]{2})"; // Match -xx, not -x, not --xx, not xx
+ var substitution = @"-$1"; // Prepend with additional single-hyphen
+ var regex = new Regex(pattern);
+
+ for (var i = 0; i < args.Length; i++)
+ {
+ args[i] = regex.Replace(args[i], substitution);
+ }
+
// For CommandLine package, change default behaviour to output errors to stdout (instead of stderr)
var parser = new Parser(config => config.HelpWriter = Console.Out);
@@ -139,9 +152,9 @@ namespace Jellyfin.Server
string programDataPath = Environment.GetEnvironmentVariable("JELLYFIN_DATA_PATH");
if (string.IsNullOrEmpty(programDataPath))
{
- if (options.PathProgramData != null)
+ if (options.PathData != null)
{
- programDataPath = options.PathProgramData;
+ programDataPath = options.PathData;
}
else
{