-Getopt::Mixed::init('a A=s c d e h i=s k L=s l m M=s o=s P=s p:s r S:i'.
- ' s t v w bigq:s body check:s debug>d diff ftr-ad ftr-ml groupwise'.
- ' help>h kminl=i kmaxl=i kdiff=i lax-security locale=s max-lines=i'.
- ' ms-smart mua>M pgp-short pgp-move pgp-move-vrf sigsmax:i spass'.
- ' version>v');
-while (my ($opt, $val, $pretty) = nextOption()) {
- if ($opt eq 'a') { $ad = 1; }
- elsif ($opt eq 'A') { $ads = $val; }
- elsif ($opt eq 'bigq') {
- if ($val !~ /^(?:(\d+)(?:,(\d+))?)?$/) { help(); }
- $bigqn = $1?$1:30;
- $bigqx = $2?$2:10;
- if ($bigqn<=0 || $bigqx<=0 || $bigqn<=$bigqx) { help(); }
- }
- elsif ($opt eq 'body') { $nohdr = 1; $hdrs = 1; }
- elsif ($opt eq 'c') { $cr = 1; }
- elsif ($opt eq 'check') {
- $check = 1;
- while ($val && $val =~ /^([^,\s]+)(?:,(\S+))?$/) {
- my $foo = $1;
- $val = $2;
-
- if ($foo =~ /^ratio(?:=(0?\.\d+))?$/) {
- $check_ratio = $1?$1:0.75;
- }
- }
- }
- elsif ($opt eq 'd') { $sysl = 1; }
- elsif ($opt eq 'diff') { $diff = 1; }
- elsif ($opt eq 'e') { $elli = 1; }
- elsif ($opt eq 'ftr-ad') { $ftr_ad = 1; $ad = 1; }
- elsif ($opt eq 'ftr-ml') { $ftr_ml = 1; $ml = 1; }
- elsif ($opt eq 'groupwise') { $gw = 1; }
- elsif ($opt eq 'i') { $ifile = $val; }
- elsif ($opt eq 'k') { $kamm = 1; }
- elsif ($opt eq 'kminl') { $kminl = $val; $kamm = 1; }
- elsif ($opt eq 'kmaxl') { $kmaxl = $val; $kamm = 1; }
- elsif ($opt eq 'kdiff') { $kdiff = $val; $kamm = 1; }
- elsif ($opt eq 'L') { $footers = $val; }
- elsif ($opt eq 'l') { $ml = 1; }
- elsif ($opt eq 'lax-security') { $lax = 1; }
- elsif ($opt eq 'locale') { $locale = $val; }
- elsif ($opt eq 'm') { $ms = 1; }
- elsif ($opt eq 'max-lines') { $maxlines = $val; }
- elsif ($opt eq 'ms-smart') { $ms_smart = 1; $ms = 1; }
- elsif ($opt eq 'M') {
- $mua = lc($val);
-
- if ($mua eq 'mutt') {
- # mutt still displays the message when ^C'ing pgp verification:
- $SIG{'INT'} = 'sigint_handler';
- }
- }
- elsif ($opt eq 'o') { $ofile = $val; }
- elsif ($opt eq 'P') { $boun = $val; }
- elsif ($opt eq 'p') { $mda = $val ? $val : '1'; }
- elsif ($opt eq 'pgp-short') { $pgpshort = 1; }
- elsif ($opt eq 'pgp-move') { $pgpmove = 1; }
- elsif ($opt eq 'pgp-move-vrf') { $pgpmovevrf = 1; }
- elsif ($opt eq 'r') { $hdrs = 1; }
- elsif ($opt eq 'S') { $lsig = $val ? $val : $maxsig; }
- elsif ($opt eq 's') { $sig = 1; }
- elsif ($opt eq 'sigsmax') { $sign = $val ? $val : undef; }
- elsif ($opt eq 'spass') { $spass = 1; }
- elsif ($opt eq 't') { $trad = 1; }
- elsif ($opt eq 'v') { version(); }
- elsif ($opt eq 'w') { $trsp = 1; }
- else { help(); }
+if (!Getopt::Long::GetOptions(
+ 'a' => \$ad,
+ 'A=s' => \$ads,
+ 'bigq:s' => \$_t_bigq,
+ 'body' => \$_t_nohdr,
+ 'c:i' => \$_t_cr,
+ 'check:s' => \$_t_check,
+ 'debug|d' => \$sysl,
+ 'diff' => \$diff,
+ 'e' => \$elli,
+ 'fixind' => \$fixind,
+ 'ftr-ad' => \$ftr_ad,
+ 'ftr-ml' => \$ftr_ml,
+ 'groupwise' => \$gw,
+ 'help|h' => \$_t_help,
+ 'i=s' => \$ifile,
+ 'k' => \$kamm,
+ 'kminl=i' => \$_t_kminl,
+ 'kmaxl=i' => \$_t_kmaxl,
+ 'kdiff=i' => \$_t_kdiff,
+ 'L=s' => \$footers,
+ 'l' => \$ml,
+ 'lax-security' => \$lax,
+ 'locale=s' => \$locale,
+ 'max-lines:i' => \$maxlines,
+ 'ms-smart' => \$ms_smart,
+ 'mua|M=s' => \$_t_mua,
+ 'm' => \$ms,
+ 'o=s' => \$ofile,
+ 'P=s' => \$boun,
+ 'p:s' => \$_t_redir,
+ 'pgp-short' => \$pgpshort,
+ 'pgp-move' => \$pgpmove,
+ 'pgp-move-vrf' => \$pgpmovevrf,
+ 'r' => \$hdrs,
+ 'reply' => \$reply,
+ 'S:i' => \$_t_maxsig,
+ 's' => \$sig,
+ 'sani' => \$sani,
+ 'sigsmax:i' => \$_t_sigsmax,
+ 'spass' => \$spass,
+ 't' => \$trad,
+ 'version|v' => \$_t_ver,
+ 'w' => \$trsp
+ )) {
+ help();