summaryrefslogtreecommitdiff
path: root/nmea_parse.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>2005-03-28 23:54:53 +0000
committerEric S. Raymond <esr@thyrsus.com>2005-03-28 23:54:53 +0000
commitf63d4a35afc5a7897e1a11592c347d80cc502e2c (patch)
treef55e6d7d540d58112efb6c55306b9d6192fa2c12 /nmea_parse.c
parent5e445fe3a1bb4a268f3eecf048b825664c23ae3d (diff)
downloadgpsd-f63d4a35afc5a7897e1a11592c347d80cc502e2c.tar.gz
Make the code for converting GMT dates independent of Unix time-zone weirdness.
Diffstat (limited to 'nmea_parse.c')
-rw-r--r--nmea_parse.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/nmea_parse.c b/nmea_parse.c
index 8061161e..f9b4baaa 100644
--- a/nmea_parse.c
+++ b/nmea_parse.c
@@ -143,7 +143,7 @@ static int processGPRMC(int count, char *field[], struct gps_data_t *out)
if (count > 9) {
merge_ddmmyy(field[9], out);
merge_hhmmss(field[1], out);
- out->fix.time = out->sentence_time = mktime(&out->nmea_date) + out->subseconds;
+ out->fix.time = out->sentence_time = mkgmtime(&out->nmea_date) + out->subseconds;
}
mask |= TIME_SET;
do_lat_lon(&field[3], out);
@@ -204,7 +204,7 @@ static int processGPGLL(int count, char *field[], struct gps_data_t *out)
merge_hhmmss(field[5], out);
if (out->nmea_date.tm_year) {
- out->fix.time = out->sentence_time = mktime(&out->nmea_date) + out->subseconds;
+ out->fix.time = out->sentence_time = mkgmtime(&out->nmea_date) + out->subseconds;
mask |= TIME_SET;
}
do_lat_lon(&field[1], out);
@@ -249,7 +249,7 @@ static int processGPGGA(int c UNUSED, char *field[], struct gps_data_t *out)
merge_hhmmss(field[1], out);
if (out->nmea_date.tm_year) {
- out->fix.time = out->sentence_time = mktime(&out->nmea_date) + out->subseconds;
+ out->fix.time = out->sentence_time = mkgmtime(&out->nmea_date) + out->subseconds;
mask |= TIME_SET;
}
do_lat_lon(&field[2], out);
@@ -422,7 +422,7 @@ static int processGPZDA(int c UNUSED, char *field[], struct gps_data_t *out)
out->nmea_date.tm_year = atoi(field[4]) - 1900;
out->nmea_date.tm_mon = atoi(field[3]);
out->nmea_date.tm_mday = atoi(field[2]);
- out->fix.time = out->sentence_time = mktime(&out->nmea_date) + out->subseconds;
+ out->fix.time = out->sentence_time = mkgmtime(&out->nmea_date) + out->subseconds;
return TIME_SET;
}