chiark / gitweb /
nailing-cargo: Move arg parsing into a subroutine
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 20 Jun 2020 11:45:37 +0000 (12:45 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 20 Jun 2020 11:45:37 +0000 (12:45 +0100)
No functional change.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
nailing-cargo

index e8259365a7dd208cd10be755fb28ecb16b5a4fe4..73f72a21e8ba10c544808a26fed43f8f8d64920c 100755 (executable)
@@ -642,50 +642,53 @@ sub uninstall () {
   unaltcargolock(0);
 }
 
-while (@ARGV && $ARGV[0] =~ m/^-/) {
-  $_ = shift @ARGV;
-  last if m{^--$};
-  if (m{^-[^-]}) {
-    while (m{^-.}) {
-      if (s{^-v}{-}) {
-       $verbose++;
-      } elsif (s{^-q}{-}) {
-       $verbose=0;
-      } elsif (s{^-n}{-}) {
-       $noact++;
-      } elsif (s{^-D}{-}) {
-       $dump++;
-      } elsif (s{^-A(.+)}{-}s) {
-       $target = $1;
-      } elsif (s{^-([uU])}{-}) {
-       $cargo_lock_update= $1=~m/[a-z]/;
-      } elsif (s{^-([mM])}{-}) {
-       $cargo_manifest_args= $1=~m/[a-z]/;
-      } elsif (s{^-([tT])}{-}) {
-       $cargo_target_arg= $1=~m/[a-z]/;
-      } elsif (s{^-([oO])}{-}) {
-       $online= $1=~m/[a-z]/;
-      } else {
-       die "$self: unknown short option(s) $_\n";
+sub parse_args () {
+  while (@ARGV && $ARGV[0] =~ m/^-/) {
+    $_ = shift @ARGV;
+    last if m{^--$};
+    if (m{^-[^-]}) {
+      while (m{^-.}) {
+       if (s{^-v}{-}) {
+         $verbose++;
+       } elsif (s{^-q}{-}) {
+         $verbose=0;
+       } elsif (s{^-n}{-}) {
+         $noact++;
+       } elsif (s{^-D}{-}) {
+         $dump++;
+       } elsif (s{^-A(.+)}{-}s) {
+         $target = $1;
+       } elsif (s{^-([uU])}{-}) {
+         $cargo_lock_update= $1=~m/[a-z]/;
+       } elsif (s{^-([mM])}{-}) {
+         $cargo_manifest_args= $1=~m/[a-z]/;
+       } elsif (s{^-([tT])}{-}) {
+         $cargo_target_arg= $1=~m/[a-z]/;
+       } elsif (s{^-([oO])}{-}) {
+         $online= $1=~m/[a-z]/;
+       } else {
+         die "$self: unknown short option(s) $_\n";
+       }
       }
+    } elsif (s{^--(?:target|arch)=}{}) {
+      $target = $_;
+    } elsif (m{^--(no-)?cargo-lock-update}) {
+      $cargo_lock_update= !!$1;
+    } elsif (m{^--(no-)?cargo-manifest-args}) {
+      $cargo_manifest_args= !!$1;
+    } elsif (m{^--(no-)?cargo-target-dir-arg}) {
+      $cargo_target_arg= !!$1;
+    } elsif (m{^--(on|off)line$}) {
+      $online = $1 eq 'on';
+    } else {
+      die "$self: unknown long option $_\n";
     }
-  } elsif (s{^--(?:target|arch)=}{}) {
-    $target = $_;
-  } elsif (m{^--(no-)?cargo-lock-update}) {
-    $cargo_lock_update= !!$1;
-  } elsif (m{^--(no-)?cargo-manifest-args}) {
-    $cargo_manifest_args= !!$1;
-  } elsif (m{^--(no-)?cargo-target-dir-arg}) {
-    $cargo_target_arg= !!$1;
-  } elsif (m{^--(on|off)line$}) {
-    $online = $1 eq 'on';
-  } else {
-    die "$self: unknown long option $_\n";
   }
-}
 
-die "$self: need command to run\n" unless @ARGV || $noact;
+  die "$self: need command to run\n" unless @ARGV || $noact;
+}
 
+parse_args();
 loadconfigs();
 takelock();
 readnail();