Skip to content

Commit c697872

Browse files
committed
Don't care about the flag positions
1 parent 647c35e commit c697872

File tree

1 file changed

+26
-16
lines changed

1 file changed

+26
-16
lines changed

VndbCharacterNames/Program.cs

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -41,20 +41,20 @@ public static void Main(string[] args)
4141
{
4242
outputFilePath = Path.ChangeExtension(outputFilePath, "json");
4343

44-
bool? result = GetBoolArgValue(args[2], "--add-character-details-to-full-names");
44+
bool? result = GetBoolArgValue(args, "--add-character-details-to-full-names", 2);
4545
if (result is not null)
4646
{
4747
shouldAddDefinition = result.Value;
4848

49-
result = GetBoolArgValue(args[3], "--add-details-to-one-word-full-names");
49+
result = GetBoolArgValue(args, "--add-details-to-one-word-full-names", 2);
5050
if (result is not null)
5151
{
5252
addDefinitionToOneWordNames = result.Value;
53-
result = GetBoolArgValue(args[4], "--add-details-to-given-names");
53+
result = GetBoolArgValue(args, "--add-details-to-given-names", 2);
5454
if (result is not null)
5555
{
5656
addDefinitionToGivenNames = result.Value;
57-
result = GetBoolArgValue(args[5], "--add-details-to-surnames");
57+
result = GetBoolArgValue(args, "--add-details-to-surnames", 2);
5858
if (result is not null)
5959
{
6060
addDefinitionToSurnames = result.Value;
@@ -435,26 +435,36 @@ private static bool GetAnserOfYesNoQuestion(string question)
435435
}
436436
}
437437

438-
private static bool? GetBoolArgValue(string arg, string flagName)
438+
private static bool? GetBoolArgValue(string[] args, string flagName, int startIndex)
439439
{
440-
string[] addCharacterDetailToFullNameOption = arg.Split('=', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
441-
if (addCharacterDetailToFullNameOption.Length is 2 && addCharacterDetailToFullNameOption[0] == flagName)
440+
string[]? splitOptionParts = null;
441+
for (int i = startIndex; i < args.Length; i++)
442442
{
443-
if (string.Equals(addCharacterDetailToFullNameOption[1], "true", StringComparison.OrdinalIgnoreCase))
443+
string[] tempOption = args[i].Split('=', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries);
444+
if (tempOption.Length is 2 && tempOption[0] == flagName)
444445
{
445-
return true;
446-
}
447-
448-
if (string.Equals(addCharacterDetailToFullNameOption[1], "false", StringComparison.OrdinalIgnoreCase))
449-
{
450-
return false;
446+
splitOptionParts = tempOption;
447+
break;
451448
}
449+
}
452450

453-
Console.WriteLine($"Invalid value for '{flagName}' option!");
451+
if (splitOptionParts is null)
452+
{
453+
Console.WriteLine("Invalid input!");
454454
return null;
455455
}
456456

457-
Console.WriteLine("Invalid input!");
457+
if (string.Equals(splitOptionParts[1], "true", StringComparison.OrdinalIgnoreCase) || string.Equals(splitOptionParts[1], "t", StringComparison.OrdinalIgnoreCase))
458+
{
459+
return true;
460+
}
461+
462+
if (string.Equals(splitOptionParts[1], "false", StringComparison.OrdinalIgnoreCase) || string.Equals(splitOptionParts[1], "f", StringComparison.OrdinalIgnoreCase))
463+
{
464+
return false;
465+
}
466+
467+
Console.WriteLine($"Invalid value for '{flagName}' option!");
458468
return null;
459469
}
460470

0 commit comments

Comments
 (0)