return $r ? 1 : 0;
}
-#
-# pc59 entity encoding and decoding
-#
-sub enc_pc59
-{
- my $self = shift;
- my $sort = shift || 'N';
- my $out = "$sort$self->{flag}$self->{call}";
- if ($self->{build}) {
- $out .= "b$self->{build}";
- } elsif ($self->{version}) {
- $out .= "v$self->{version}";
- }
-}
sub dec_pc59
{
my $s = ref($node) ? shift : $node;
$node = undef;
- my ($sort, $here, $call) = unpack "A A A*", $s;
+ my ($sort, $here, $callstring) = unpack "A A A*", $s;
+ my ($call) = $callstring =~ /^([A-Z0-9\-]+)/;
return unless is_callsign($call);
return unless $here =~ /^[0123]$/;
return unless $sort =~ /^[NUE]$/;
if ($sort eq 'E' || $sort eq 'N') {
$node = Route::Node::get($call) || Route::Node->new($call);
- if ($s =~ /b([\d\.])/) {
+ if ($callstring =~ /b([\d\.])/) {
$node->{build} = $1;
}
- if ($s =~ /v([\d\.])/) {
+ if ($callstring =~ /v([\d\.])/) {
$node->{version} = $1;
}
} elsif ($sort eq 'U') {