diff options
-rw-r--r-- | driver_garmin.c | 4 | ||||
-rw-r--r-- | driver_garmin_txt.c | 2 | ||||
-rw-r--r-- | driver_superstar2.c | 4 | ||||
-rw-r--r-- | driver_zodiac.c | 2 | ||||
-rw-r--r-- | test_float.c | 12 |
5 files changed, 12 insertions, 12 deletions
diff --git a/driver_garmin.c b/driver_garmin.c index 326eb695..0c613c85 100644 --- a/driver_garmin.c +++ b/driver_garmin.c @@ -245,7 +245,7 @@ typedef struct } Packet_t; // useful funcs to read/write ints -// floats and doubles are Intel order only... +// floats and doubles are Intel (little-endian) order only... static inline void set_int16(uint8_t * buf, uint32_t value) { buf[0] = (uint8_t) (0x0FF & value); @@ -374,7 +374,7 @@ gps_mask_t PrintSERPacket(struct gps_device_t *session, unsigned char pkt_id, // gps_tow is always like x.999 or x.998 so just round it time_l += (time_t) round(pvt->gps_tow); session->context->gps_tow = pvt->gps_tow; - session->newdata.time = (double)time_l; + session->newdata.time = (timestamp_t)time_l; gpsd_report(LOG_PROG, "Garmin: time_l: %ld\n", (long int)time_l); session->newdata.latitude = radtodeg(pvt->lat); diff --git a/driver_garmin_txt.c b/driver_garmin_txt.c index d6d459ae..fe12588f 100644 --- a/driver_garmin_txt.c +++ b/driver_garmin_txt.c @@ -314,7 +314,7 @@ gps_mask_t garmintxt_parse(struct gps_device_t * session) session->driver.garmintxt.date.tm_sec = (int)result; session->driver.garmintxt.subseconds = 0; session->newdata.time = - (double)mkgmtime(&session->driver.garmintxt.date) + + (timestamp_t)mkgmtime(&session->driver.garmintxt.date) + session->driver.garmintxt.subseconds; mask |= TIME_IS; } while (0); diff --git a/driver_superstar2.c b/driver_superstar2.c index ad58a56a..0418e4e3 100644 --- a/driver_superstar2.c +++ b/driver_superstar2.c @@ -98,7 +98,7 @@ superstar2_msg_navsol_lla(struct gps_device_t *session, tm.tm_mday = (int)getub(buf, 14); tm.tm_mon = (int)getub(buf, 15) - 1; tm.tm_year = (int)getleu16(buf, 16) - 1900; - session->newdata.time = timegm(&tm) + (d - tm.tm_sec); + session->newdata.time = (timestamp_t)timegm(&tm) + (d - tm.tm_sec); mask |= TIME_IS; /* extract the local tangential plane (ENU) solution */ @@ -265,7 +265,7 @@ superstar2_msg_timing(struct gps_device_t *session, unsigned char *buf, tm.tm_min = (int)getsb(buf, 42); d = getled(buf, 43); tm.tm_sec = (int)d; - session->newdata.time = timegm(&tm); + session->newdata.time = (timestamp_t)timegm(&tm); session->context->leap_seconds = (int)getsb(buf, 20); mask = TIME_IS; } diff --git a/driver_zodiac.c b/driver_zodiac.c index 221f18a7..123f3d7b 100644 --- a/driver_zodiac.c +++ b/driver_zodiac.c @@ -167,7 +167,7 @@ static gps_mask_t handle1000(struct gps_device_t *session) unpacked_date.tm_sec = (int)getzword(24); subseconds = (int)getzlong(25) / 1e9; /*@ -compdef */ - session->newdata.time = (double)mkgmtime(&unpacked_date) + subseconds; + session->newdata.time = (timestamp_t)mkgmtime(&unpacked_date) + subseconds; /*@ +compdef */ /*@ -type @*/ session->newdata.latitude = ((long)getzlong(27)) * RAD_2_DEG * 1e-8; diff --git a/test_float.c b/test_float.c index 6271cedd..e87c654d 100644 --- a/test_float.c +++ b/test_float.c @@ -30,11 +30,11 @@ * (use whatever -O level you like) */ -int main( void ); -int test_single( void ); -int test_double( void ); +int main(void); +int test_single(void); +int test_double(void); -int main() { +int main(void) { int i, j; if ((i = test_single())) @@ -51,7 +51,7 @@ int main() { return i; } -int test_single() { +int test_single(void) { static float f; static int i; static int e = 0; @@ -155,7 +155,7 @@ int test_single() { } -int test_double() { +int test_double(void) { static double f; static int i; static int e = 0; |