summaryrefslogtreecommitdiff
path: root/navit/util.c
diff options
context:
space:
mode:
authormvglasow <michael -at- vonglasow.com>2018-07-22 19:10:25 +0200
committermvglasow <michael -at- vonglasow.com>2018-07-22 19:10:25 +0200
commit5e27d6baf1fe1c3b4824a41abd2fe1d1cc055452 (patch)
treecc247afa7fa7532186e57478e9b5f5558a2d7fd0 /navit/util.c
parent5a3499ff04e7c0a054a5941a91f9ea9e66766b65 (diff)
downloadnavit-5e27d6baf1fe1c3b4824a41abd2fe1d1cc055452.tar.gz
Fix:core:Fix ISO8601 parsing for time zones (+0200 format)
Signed-off-by: mvglasow <michael -at- vonglasow.com>
Diffstat (limited to 'navit/util.c')
-rw-r--r--navit/util.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/navit/util.c b/navit/util.c
index 35b2acaef..11d6b21ce 100644
--- a/navit/util.c
+++ b/navit/util.c
@@ -571,6 +571,8 @@ time_t iso8601_to_time(char * iso8601) {
while (*pos && i < 6) {
if (*pos < '0' || *pos > '9') {
val[i++] = atoi(start);
+ if (i == 6)
+ break;
pos++;
start = pos;
}
@@ -595,9 +597,9 @@ time_t iso8601_to_time(char * iso8601) {
tm.tm_year = val[0] - 1900;
tm.tm_mon = val[1] - 1;
tm.tm_mday = val[2];
- tm.tm_hour = val[3];
- tm.tm_min = val[4] - val[6];
- tm.tm_sec = val[5] - val[7];
+ tm.tm_hour = val[3] - val[6];
+ tm.tm_min = val[4] - val[7];
+ tm.tm_sec = val[5];
dbg(lvl_debug, "time %s (%02d-%02d-%02d %02d:%02d:%02d)\n", iso8601, tm.tm_year, tm.tm_mon, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec);