diff options
author | Eric S. Raymond <esr@thyrsus.com> | 2014-08-18 15:21:27 -0400 |
---|---|---|
committer | Eric S. Raymond <esr@thyrsus.com> | 2014-08-18 15:21:27 -0400 |
commit | 9b9098d2f096f96838c1bdd8c1736cb3ecf1f66e (patch) | |
tree | 07f5d29de3479faa9b22ad3a8d17a8dac1fa0bef | |
parent | 1db62622714d8ba1f798a81f57a87eabdb036278 (diff) | |
download | gpsd-9b9098d2f096f96838c1bdd8c1736cb3ecf1f66e.tar.gz |
Correct a bug in AIS type 8 processing.
Prevent a false match to an Inland AIS sentence.
-rw-r--r-- | driver_ais.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/driver_ais.c b/driver_ais.c index eedfeeb8..e9563569 100644 --- a/driver_ais.c +++ b/driver_ais.c @@ -654,7 +654,7 @@ bool ais_binary_decode(const int debug, } else if (ais->type8.dac == 200) { switch (ais->type8.fid) { - case 21: /* Inland ship static and voyage related data */ + case 10: /* Inland ship static and voyage related data */ UCHARS(56, ais->type8.dac200fid10.vin); ais->type8.dac200fid10.length = UBITS(104, 13); ais->type8.dac200fid10.beam = UBITS(117, 10); @@ -668,7 +668,7 @@ bool ais_binary_decode(const int debug, /* skip 8 bits */ structured = true; break; - case 23: + case 23: /* EMMA warning */ ais->type8.dac200fid23.start_year = UBITS(56, 8); ais->type8.dac200fid23.start_month = UBITS(64, 4); ais->type8.dac200fid23.start_day = UBITS(68, 5); @@ -691,7 +691,7 @@ bool ais_binary_decode(const int debug, /* skip 6 bits */ structured = true; break; - case 24: + case 24: /* Water level */ UCHARS(56, ais->type8.dac200fid24.country); #define ARRAY_BASE 68 #define ELEMENT_SIZE 25 @@ -706,7 +706,7 @@ bool ais_binary_decode(const int debug, /* skip 6 bits */ structured = true; break; - case 40: + case 40: /* Signal status */ ais->type8.dac200fid40.lon = SBITS(56, 28); ais->type8.dac200fid40.lat = SBITS(84, 27); ais->type8.dac200fid40.form = UBITS(111, 4); |