]> xenbits.xensource.com Git - osstest.git/commitdiff
PDU/MSW: Break out action_value()
authorIan Jackson <iwj@xenproject.org>
Wed, 21 Oct 2020 15:05:36 +0000 (16:05 +0100)
committerIan Jackson <iwj@xenproject.org>
Thu, 22 Oct 2020 16:34:58 +0000 (17:34 +0100)
This is going to be useful in a moment.

Signed-off-by: Ian Jackson <iwj@xenproject.org>
pdu-msw

diff --git a/pdu-msw b/pdu-msw
index 58c339522bb0acbfdef948be1fc19d551dd37621..03b0f3420dc46f96db9cca1beb9c006d7119fced 100755 (executable)
--- a/pdu-msw
+++ b/pdu-msw
@@ -121,13 +121,17 @@ sub show () {
     printf "pdu-msw $dnsname: #%s \"%s\" = %s\n", $useport, $usename, $mean;
 }
 
-sub set () {
+sub action_value () {
     my $delayadd= ($action =~ s/^delayed-// ? 3 : 0);
     my $valset= ($action =~ m/^(?:0|off)$/ ? 2 :
                  $action =~ m/^(?:1|on)$/ ? 1 :
                  $action =~ m/^(?:reboot)$/ ? 3 :
                  die "unknown action $action\n$usagemsg");
-        
+    return $valset;
+}
+
+sub set ($) {
+    my ($valset) = @_;
     my $res= $session->set_request(-varbindlist => [ $write_oid, INTEGER, $valset ]);
     die "SNMP set ".$session->error()." " unless $res;
 }
@@ -135,8 +139,9 @@ sub set () {
 if (!defined $action) {
     show();
 } else {
+    my $valset = action_value();
     print "was: "; show();
-    set();
+    set($valset);
     print "now: "; show();
     print "^ note, PDUs often do not update returned info immediately\n";
 }