added more restrictive time parsing
[spider.git] / perl / DXUtil.pm
index 81bace8ca1271ebc45021e3175cb80edc940592a..6c3ff30af271f7d31a3657c82dd01500c4cf9446 100644 (file)
@@ -46,7 +46,7 @@ sub cldate
        my $t = shift;
        my ($sec,$min,$hour,$mday,$mon,$year) = gmtime((defined $t) ? $t : time);
        $year += 1900;
-       my $buf = sprintf "%02d-%s-%04d", $mday, $month[$mon], $year;
+       my $buf = sprintf "%2d-%s-%04d", $mday, $month[$mon], $year;
        return $buf;
 }
 
@@ -64,8 +64,11 @@ sub cltounix
 {
        my $date = shift;
        my $time = shift;
-       $date =~ s/^\s*(\d+)-(\w\w\w)-(19\d\d)$/$1 $2 $3/;
-       $time =~ s/^(\d\d)(\d\d)Z$/$1:$2 +0000/;
+
+       return 0 unless $date =~ /^\s*(\d+)-(\w\w\w)-([12][90]\d\d)$/;
+       $date = "$1 $2 $3";
+       return 0 unless $time =~ /^([012]\d)([012345]\d)Z$/;
+       $time = "$1:$2 +0000";
        return str2time("$date $time");
 }
 
@@ -148,11 +151,9 @@ sub print_all_fields
 {
        my $self = shift;                       # is a dxchan
        my $ref = shift;                        # is a thingy with field_prompt and fields methods defined
-       my @out = @_;
+       my @out;
        my @fields = $ref->fields;
        my $field;
-       my @out;
 
        foreach $field (sort @fields) {
                if (defined $ref->{$field}) {