From c1e22faa033859db035b6d67fd6321bc95ac9cb7 Mon Sep 17 00:00:00 2001 From: Svend Roperos Date: Wed, 3 Sep 2025 12:14:42 +0200 Subject: [PATCH] fix: make string.Split calls explicit to resolve ambiguous overloads --- Duplicati/Library/Backend/Box/BoxBackend.cs | 2 +- Duplicati/Library/Modules/Builtin/HyperVOptions.cs | 2 +- Duplicati/Library/Modules/Builtin/RunScript.cs | 2 +- Duplicati/Library/Modules/Builtin/SendHttpMessage.cs | 2 +- Duplicati/Library/Utility/Options/SslOptionsHelper.cs | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Duplicati/Library/Backend/Box/BoxBackend.cs b/Duplicati/Library/Backend/Box/BoxBackend.cs index d5c75c71c..759dfc0a7 100644 --- a/Duplicati/Library/Backend/Box/BoxBackend.cs +++ b/Duplicati/Library/Backend/Box/BoxBackend.cs @@ -115,7 +115,7 @@ namespace Duplicati.Library.Backend.Box { var parentid = "0"; - foreach (var p in _path.Split(["/"], StringSplitOptions.RemoveEmptyEntries)) + foreach (var p in _path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries)) { var el = (MiniFolder?)await PagedFileListResponse(parentid, true, cancelToken).FirstOrDefaultAsync(x => x.Name == p, cancellationToken: cancelToken).ConfigureAwait(false); if (el == null) diff --git a/Duplicati/Library/Modules/Builtin/HyperVOptions.cs b/Duplicati/Library/Modules/Builtin/HyperVOptions.cs index 9f1eeba30..da4268ded 100644 --- a/Duplicati/Library/Modules/Builtin/HyperVOptions.cs +++ b/Duplicati/Library/Modules/Builtin/HyperVOptions.cs @@ -221,7 +221,7 @@ namespace Duplicati.Library.Modules.Builtin .ToList(); var filterhandler = pathFilters.Select(x => x.Filter) - .Concat(filter.Split([System.IO.Path.PathSeparator], StringSplitOptions.RemoveEmptyEntries)) + .Concat(filter.Split(new[] { System.IO.Path.PathSeparator }, StringSplitOptions.RemoveEmptyEntries)) .Where(x => !string.IsNullOrWhiteSpace(x)) .Select(x => Utility.FilterExpression.StringToIFilter(x)) .Append(new Utility.FilterExpression()) diff --git a/Duplicati/Library/Modules/Builtin/RunScript.cs b/Duplicati/Library/Modules/Builtin/RunScript.cs index 486a7bf56..47e692d97 100644 --- a/Duplicati/Library/Modules/Builtin/RunScript.cs +++ b/Duplicati/Library/Modules/Builtin/RunScript.cs @@ -480,7 +480,7 @@ namespace Duplicati.Library.Modules.Builtin return; // Explicit CR/LF types for all OSes instead of Environment.NewLine in case stdout producer // script explicitly uses a different line ending from the OS the process is ran on. - foreach (var line in stdout.Split(["\r\n", "\r", "\n"], StringSplitOptions.RemoveEmptyEntries)) + foreach (var line in stdout.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries)) { var prefix = LogActions.Keys.FirstOrDefault(p => line.StartsWith(p)); if (prefix == null) continue; diff --git a/Duplicati/Library/Modules/Builtin/SendHttpMessage.cs b/Duplicati/Library/Modules/Builtin/SendHttpMessage.cs index a37114d4b..faf6788a0 100644 --- a/Duplicati/Library/Modules/Builtin/SendHttpMessage.cs +++ b/Duplicati/Library/Modules/Builtin/SendHttpMessage.cs @@ -293,7 +293,7 @@ namespace Duplicati.Library.Modules.Builtin commandlineOptions.TryGetValue(OPTION_EXTRA_PARAMETERS, out m_extraParameters); m_acceptAnyCertificate = Utility.Utility.ParseBoolOption(commandlineOptions.AsReadOnly(), OPTION_ACCEPT_ANY_CERTIFICATE); - m_acceptSpecificCertificates = commandlineOptions.ContainsKey(OPTION_ACCEPT_SPECIFIED_CERTIFICATE) ? commandlineOptions[OPTION_ACCEPT_SPECIFIED_CERTIFICATE].Split([",", ";"], StringSplitOptions.RemoveEmptyEntries) : null; + m_acceptSpecificCertificates = commandlineOptions.ContainsKey(OPTION_ACCEPT_SPECIFIED_CERTIFICATE) ? commandlineOptions[OPTION_ACCEPT_SPECIFIED_CERTIFICATE].Split(new[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries) : null; m_retries = Utility.Utility.ParseIntOption(commandlineOptions.AsReadOnly(), OPTION_SEND_HTTP_RETRIES, DEFAULT_RETRIES); m_retryDelay = Utility.Utility.ParseTimespanOption(commandlineOptions.AsReadOnly(), OPTION_SEND_HTTP_RETRY_DELAY, DEFAULT_RETRY_DELAY); diff --git a/Duplicati/Library/Utility/Options/SslOptionsHelper.cs b/Duplicati/Library/Utility/Options/SslOptionsHelper.cs index d4d568faf..982e73ad9 100644 --- a/Duplicati/Library/Utility/Options/SslOptionsHelper.cs +++ b/Duplicati/Library/Utility/Options/SslOptionsHelper.cs @@ -90,7 +90,7 @@ public static class SslOptionsHelper return new SslCertificateOptions( Utility.ParseBoolOption(options, $"{prefix}{UseSSLOption}"), Utility.ParseBoolOption(options, $"{prefix}{AcceptAnySslCertificateOption}"), - string.IsNullOrWhiteSpace(acceptSpecificCertificatesString) ? [] : acceptSpecificCertificatesString.Split([",", ";"], StringSplitOptions.RemoveEmptyEntries) + string.IsNullOrWhiteSpace(acceptSpecificCertificatesString) ? Array.Empty() : acceptSpecificCertificatesString.Split(new[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries) ); } @@ -123,4 +123,4 @@ public static class SslOptionsHelper return handler; } } -} \ No newline at end of file +}