vncserver: CLI optional option arg support (-select-de=[DE])

KASM-1609_select_de_to_run
Dmitry Maksyoma 4 years ago
parent 36ffbe1572
commit 551f292144

@ -27,6 +27,13 @@
use v5.10;
use Time::HiRes qw (sleep);
use Switch;
use constant {
NO_ARG_VALUE => 0,
REQUIRED_ARG_VALUE => 1,
OPTIONAL_ARG_VALUE => 2
};
&CheckWeCanRunInThisEnvironment();
@ -419,18 +426,35 @@ sub ParseOptionsAndRemoveMatchesFromARGV
foreach $opt (@opts) {
if ($arg eq $opt) {
push(@optArgs, $arg);
if ($valFollows{$opt}) {
switch($valFollows{$opt}) {
case NO_ARG_VALUE {
$opt{$opt} = 1;
next arg;
}
case REQUIRED_ARG_VALUE {
if (@ARGV == 0) {
&Usage();
}
$opt{$opt} = shift(@ARGV);
push(@optArgs, $opt{$opt});
} else {
next arg;
}
case OPTIONAL_ARG_VALUE {
if (scalar @ARGV == 0 || $ARGV[0] =~ /^-/) {
$opt{$opt} = 1;
next arg;
}
$opt{$opt} = shift(@ARGV);
push(@optArgs, $opt{$opt});
next arg;
}
}
}
}
push(@newargs,$arg);
}

Loading…
Cancel
Save