]> source.dussan.org Git - rspamd.git/commitdiff
* Parse options 'by hand' avoiding usage of Getopt::Std in rspamc.pl
authorVsevolod Stakhov <vsevolod@rambler-co.ru>
Mon, 17 May 2010 15:26:32 +0000 (19:26 +0400)
committerVsevolod Stakhov <vsevolod@rambler-co.ru>
Mon, 17 May 2010 15:26:32 +0000 (19:26 +0400)
rspamc.pl.in

index ae8470a2e61f3ff28e47728826da0d63ffec09ee..077832438fb4e2c3fe60c9442258c3753e8e1890 100755 (executable)
@@ -8,7 +8,6 @@
 # By default rspamc.pl would read ./rspamd.conf and default command is SYMBOLS
 
 use Socket qw(:DEFAULT :crlf);
-use Getopt::Std;
 use Term::Cap;
 use Mail::Rspamd::Client;
 
@@ -68,7 +67,7 @@ OR <search-key1> <search-key2> - Messages that match either search key (same for
 
 Version:   @RSPAMD_VERSION@
 EOD
-exit;
+       exit;
 };
 
 sub load_hosts_file {
@@ -192,10 +191,51 @@ my %args;
 
 HELP_MESSAGE() unless scalar @ARGV >= 1;
 
-getopt('pc:h:P:s:d:w:S:H:i:', \%args);
+while (my $opt = shift @ARGV) {
+       if ($opt eq '-c') {
+               $args{c} = shift @ARGV;
+       }
+       elsif ($opt eq '-h') {
+               $args{h} = shift @ARGV;
+       }
+       elsif ($opt eq '-P') {
+               $args{P} = shift @ARGV;
+       }
+       elsif ($opt eq '-s') {
+               $args{s} = shift @ARGV;
+       }
+       elsif ($opt eq '-w') {
+               $args{w} = shift @ARGV;
+       }
+       elsif ($opt eq '-d') {
+               $args{d} = shift @ARGV;
+       }
+       elsif ($opt eq '-S') {
+               $args{S} = shift @ARGV;
+       }
+       elsif ($opt eq '-H') {
+               $args{H} = shift @ARGV;
+       }
+       elsif ($opt eq '-i') {
+               $args{i} = shift @ARGV;
+       }
+       elsif ($opt eq '-p') {
+               $args{p} = 1;
+       }
+       elsif ($opt eq '-?' || $opt eq '--help') {
+               HELP_MESSAGE();
+       }
+       elsif ($opt eq '--') {
+               last;
+       }
+       else {
+               unshift @ARGV,$opt;
+               last;
+       }
+}
 
-my $cmd = shift;
-my @path = shift;
+my $cmd = shift @ARGV;
+my @path = shift @ARGV;
 
 if (!defined ($cmd) || $cmd eq '') {
     $cmd = 'SYMBOLS';