fix date / time stamp decoding
[spider.git] / perl / Thingy / Dx.pm
index 35ff5214985bfecf0b7d69bf2de787fe4a573cb2..1311e8f15fa6e99fd776d276703781f5f1a5818f 100644 (file)
@@ -31,10 +31,9 @@ sub gen_Aranea
                $thing->{f} = $sd->[0];
                $thing->{c} = $sd->[1];
                $thing->{b} = $sd->[4] unless $thing->{user};
-               unless ($sd->[7] eq $main::mycall) {
-                       $thing->{t} = sprintf("%X", $sd->[2] / 60);
-                       $thing->{o} =  $sd->[7]; 
-               }
+               my $t = $sd->[2];
+               $thing->{t} = sprintf("%X", $t) unless $t eq int($main::systime / 60);
+               $thing->{o} =  $sd->[7] unless $sd->[7] eq $main::mycall; 
                $thing->{i} = $sd->[3] if $sd->[3];
                $thing->{Aranea} = Aranea::genmsg($thing, [qw(f c b t o i)]);
        }
@@ -46,7 +45,7 @@ sub from_Aranea
        my $thing = shift;
        return unless $thing;
        my $t = hex($thing->{t}) if exists $thing->{t};
-       $t ||= $thing->{time} / 60;     # if it is an aranea generated
+       $t ||= int($thing->{time} / 60);        # if it is an aranea generated
        my @spot = Spot::prepare(
                                                         $thing->{f},
                                                         $thing->{c},
@@ -68,7 +67,7 @@ sub gen_DXProt
                my $text = $sd->[3] || ' ';
                $text =~ s/\^/\%5E/g;
                my $t = $sd->[2];
-               $thing->{DXProt} = sprintf "PC11^%.1f^$sd->[1]^%s^%s^$text^$sd->[4]^$sd->[7]^$hops^~", $sd->[0], cldate($t), ztime($t);
+               $thing->{DXProt} = sprintf "PC11^%.1f^$sd->[1]^%s^%s^%s^$sd->[4]^$sd->[7]^$hops^~", $sd->[0], cldate($t), ztime($t), $text;
        }
        return $thing->{DXProt};
 }