X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=unpack.pl;h=9d9b62297a907222d051224dda7ea9b44ed23972;hb=9b3f509c08b8138f26871285a5bcafc38d5716c5;hp=1e04e2dd7b7a88bf3b502ffb44acb8947edc50d3;hpb=9efb310110d8ec5e20ae9eb11f7ab36ed7b6b112;p=zc diff --git a/unpack.pl b/unpack.pl index 1e04e2d..9d9b622 100755 --- a/unpack.pl +++ b/unpack.pl @@ -155,8 +155,9 @@ while ( $data ) { my $data_id = unpack( 'C', substr($data,0,1) ); my $data_id_desc = $protocol->{$data_id}->{description}; if ( ! $data_id_desc ) { - warn "ERROR: no description for data_id $data_id SKIPPING!"; - $data = substr($data,1); + my $len = unpack('C', substr($data,1,1)); + printf "ERROR: no description for data_id %d 0x%2x len %d SKIPPING!\n", $data_id, $data_id, $len; + $data = substr($data,2 + $len); next; } my $pack_fmt = $protocol->{$data_id}->{pack_fmt} || die "can't find pack_fmt for data_id $data_id";