summaryrefslogtreecommitdiff
path: root/driver_ais.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2014-08-18 15:21:27 -0400
committerEric S. Raymond <esr@thyrsus.com>2014-08-18 15:21:27 -0400
commit9b9098d2f096f96838c1bdd8c1736cb3ecf1f66e (patch)
tree07f5d29de3479faa9b22ad3a8d17a8dac1fa0bef /driver_ais.c
parent1db62622714d8ba1f798a81f57a87eabdb036278 (diff)
downloadgpsd-9b9098d2f096f96838c1bdd8c1736cb3ecf1f66e.tar.gz
Correct a bug in AIS type 8 processing.
Prevent a false match to an Inland AIS sentence.
Diffstat (limited to 'driver_ais.c')
-rw-r--r--driver_ais.c8
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);