diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2010-01-30 19:38:41 +0000 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2010-01-30 19:38:41 +0000 |
commit | ad64aae039346166d8be14a2abfc2c8aefd713f5 (patch) | |
tree | 743e40c74e31c1ae246c44adc3eb88f137895d6f /driver_aivdm.c | |
parent | 0a85df3e226d3395c43f3a199b918403607c3068 (diff) | |
download | gpsd-ad64aae039346166d8be14a2abfc2c8aefd713f5.tar.gz |
Regression test and proper field conditionalization for AIS Type 16
Diffstat (limited to 'driver_aivdm.c')
-rw-r--r-- | driver_aivdm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/driver_aivdm.c b/driver_aivdm.c index 2265c597..eaf53a2b 100644 --- a/driver_aivdm.c +++ b/driver_aivdm.c @@ -357,8 +357,8 @@ bool aivdm_decode(const char *buf, size_t buflen, ais->type16.mmsi1 = UBITS(40, 30); ais->type16.offset1 = UBITS(70, 12); ais->type16.increment1 = UBITS(82, 10); - if (ais_context->bitlen <= 96) - ais->type16.mmsi2 = 0; + if (ais_context->bitlen < 144) + ais->type16.mmsi2=ais->type16.offset2=ais->type16.increment2 = 0; else { ais->type16.mmsi2 = UBITS(92, 30); ais->type16.offset2 = UBITS(122, 12); |