summaryrefslogtreecommitdiff
path: root/libgps.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-03-26 21:08:18 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-03-26 21:08:18 +0000
commit196a3faafd1473a1f5a2db00272cdb6a7d85ae3f (patch)
treee1ed26de710c2ea559d124a46dacd169b5b6722b /libgps.c
parent4183f3f66aff6a620442e4d9905629107e393ada (diff)
downloadgpsd-196a3faafd1473a1f5a2db00272cdb6a7d85ae3f.tar.gz
Make sure the mode gets set properly.
Diffstat (limited to 'libgps.c')
-rw-r--r--libgps.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libgps.c b/libgps.c
index 8e872ce8..48d639b9 100644
--- a/libgps.c
+++ b/libgps.c
@@ -122,8 +122,6 @@ static void gps_unpack(char *buf, struct gps_data_t *gpsdata)
nf.epc = DEFAULT(epc, 0.0);
#undef DEFAULT
nf.mode = (alt[0] == '?') ? MODE_2D : MODE_3D;
- gpsdata->fix = nf;
- gpsdata->valid = TIME_SET|TIMERR_SET|LATLON_SET|MODE_SET;
if (nf.mode == MODE_3D)
gpsdata->valid |= ALTITUDE_SET | CLIMB_SET;
if (nf.eph)
@@ -136,6 +134,9 @@ static void gps_unpack(char *buf, struct gps_data_t *gpsdata)
gpsdata->valid |= SPEEDERR_SET;
if (nf.epc)
gpsdata->valid |= CLIMBERR_SET;
+
+ gpsdata->fix = nf;
+ gpsdata->valid = TIME_SET|TIMERR_SET|LATLON_SET|MODE_SET;
}
}
break;