summaryrefslogtreecommitdiffstats
path: root/src/main.lib/Services/ArgumentsParser.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.lib/Services/ArgumentsParser.cs')
-rw-r--r--src/main.lib/Services/ArgumentsParser.cs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/main.lib/Services/ArgumentsParser.cs b/src/main.lib/Services/ArgumentsParser.cs
index 20529f0..8f63a08 100644
--- a/src/main.lib/Services/ArgumentsParser.cs
+++ b/src/main.lib/Services/ArgumentsParser.cs
@@ -11,7 +11,7 @@ namespace PKISharp.WACS.Configuration
private readonly string[] _args;
private readonly IEnumerable<IArgumentsProvider> _providers;
- public T GetArguments<T>() where T : class, new()
+ public T? GetArguments<T>() where T : class, new()
{
foreach (var provider in _providers)
{
@@ -52,14 +52,18 @@ namespace PKISharp.WACS.Configuration
return false;
}
var mainProvider = _providers.OfType<IArgumentsProvider<MainArguments>>().First();
- if (mainProvider.Validate(_log, main, main))
+ if (mainProvider.Validate(main, main))
{
// Validate the others
var others = _providers.Except(new[] { mainProvider });
foreach (var other in others)
{
var opt = other.GetResult(_args);
- if (!other.Validate(_log, opt, main))
+ if (opt == null)
+ {
+ return false;
+ }
+ if (!other.Validate(opt, main))
{
return false;
}