summaryrefslogtreecommitdiff
path: root/gpscat
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2009-03-27 02:26:22 +0000
committerEric S. Raymond <esr@thyrsus.com>2009-03-27 02:26:22 +0000
commit7bdc8eacf14ff0bca9f99ae14302fd94aa7c4ce1 (patch)
treef4f285c0b1b3f0e52d5f576c3c8512b633596df3 /gpscat
parentd56c57d9a35f178e4121a45ddfaf16cd162671ab (diff)
downloadgpsd-7bdc8eacf14ff0bca9f99ae14302fd94aa7c4ce1.tar.gz
Significant simplification of the packet-getter interface.
packet_get() now always returns nonzero when it could either read fresh data or assemble a packet from data already read and buffered -- no more returning 0 when it has assembled a packet from buffered data but can't read any new data. I suspect this may have been causing subtle bugs.
Diffstat (limited to 'gpscat')
-rwxr-xr-xgpscat5
1 files changed, 2 insertions, 3 deletions
diff --git a/gpscat b/gpscat
index 457391d5..78f39914 100755
--- a/gpscat
+++ b/gpscat
@@ -109,8 +109,7 @@ if __name__ == '__main__':
sys.stdout.write(buf)
buf = ""
else:
- (ptype, packet) = getter.get(tty)
- length = len(packet)
+ (length, ptype, packet) = getter.get(tty)
seqno += 1
# Don't crap out if the first packet is bad, we might
# be seeing an incomplete read from a tty.
@@ -119,7 +118,7 @@ if __name__ == '__main__':
sys.stdout.write("gpscat: terminating on bad packet\n")
break
elif length == 0:
- continue
+ break
if typeflag:
sys.stdout.write(`ptype` + " (" + `length` + "): " + hexdump(packet))
sys.stdout.write("\n")