Menu

#1 Bugs in NMEA.pm and Serial.pm

open
nobody
None
5
2007-10-08
2007-10-08
Tom Smith
No

I emailed the Perl-GPS errors several years ago when the current
release was perl-GPS-0.12. I installed perl-GPS-0.15-1.fc6, and was
disappointed to find it necessary to still have to make the same
source corrections. Before changing your source, I got these errors:

Use of uninitialized value in length at /usr/lib/perl5/vendor_perl/5.8.8/GPS/Serial.pm line 79.
Use of uninitialized value in bitwise xor (^) at /usr/lib/perl5/vendor_perl/5.8.8/GPS/NMEA.pm line 120.

Here is diff output showing changes:

bash-3.1$ diff /usr/lib/perl5/vendor_perl/5.8.8/GPS/Serial.pm Serial.pm
79c79,80
< $self->usleep(1) unless (length($line) % 32);
---
> # Fri Jul 21 16:43:50 CDT 2006 Smitty added '$line &&':
> $self->usleep(1) unless ($line && length($line) % 32);
bash-3.1$ diff /usr/lib/perl5/vendor_perl/5.8.8/GPS/NMEA.pm NMEA.pm
103c103
< return "$deg.$dm$sec";
---
> return $deg+"$dm.$sec"/60; #return "$deg.$dm$sec"; # Smitty modified.
120c120
< $csum ^= unpack("C",(substr($line,$_,1))) for(1..length($line));
---
> $csum ^= unpack("C",(substr($line,$_,1))) for(1..length($line)-1); # Smitty added -1.

These errors probably won't show unless your script looks like this

#!/usr/bin/perl -w
use strict 'vars';

Discussion


Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.