From c79da47c2136c82cdc4fcd30b1f024a6edf6ea24 Mon Sep 17 00:00:00 2001 From: Dmitry Maksyoma Date: Sat, 31 Jul 2021 01:11:26 +1200 Subject: [PATCH] vncserver: extract DetectDisplayNumberFromCliArgs() --- unix/vncserver | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/unix/vncserver b/unix/vncserver index e6a5272..1b63aed 100755 --- a/unix/vncserver +++ b/unix/vncserver @@ -78,19 +78,7 @@ chop($host = `uname -n`); # Create the user's vnc directory if necessary. &CreateDotVncDir(); -# Find display number. -if ((@ARGV > 0) && ($ARGV[0] =~ /^:(\d+)$/)) { - $displayNumber = $1; - shift(@ARGV); - if (!&CheckDisplayNumber($displayNumber)) { - die "A VNC server is already running as :$displayNumber\n"; - } -} elsif ((@ARGV > 0) && ($ARGV[0] !~ /^-/) && ($ARGV[0] !~ /^\+/)) { - &Usage(); -} else { - $displayNumber = &GetLowestAvailableDisplayNumber(); -} - +&DetectDisplayNumberFromCliArgs(); $vncPort = 5900 + $displayNumber; if ($opt{'-name'}) { @@ -953,3 +941,20 @@ sub AskUserToChooseDeOrManualXstartup { system($selectDeCmd) == 0 || die("Failed to execute $selectDeCmd\n"); } } + +sub DetectDisplayNumberFromCliArgs { + if (@ARGV == 0) { + $displayNumber = &GetLowestAvailableDisplayNumber(); + return; + } + + if ($ARGV[0] =~ /^:(\d+)$/) { + $displayNumber = $1; + shift(@ARGV); + if (!&CheckDisplayNumber($displayNumber)) { + die "A VNC server is already running as :$displayNumber\n"; + } + } elsif (($ARGV[0] !~ /^-/) && ($ARGV[0] !~ /^\+/)) { + &Usage(); + } +}