diff options
Diffstat (limited to 'navit/maptool/osm_o5m.c')
-rw-r--r-- | navit/maptool/osm_o5m.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/navit/maptool/osm_o5m.c b/navit/maptool/osm_o5m.c index 1ca3b1c3c..d6957067d 100644 --- a/navit/maptool/osm_o5m.c +++ b/navit/maptool/osm_o5m.c @@ -16,7 +16,7 @@ struct o5m { int error; int lat, lon, uid, version; - long long id, rid[3], changeset; + unsigned long long id, rid[3], changeset; time_t timestamp; char *user; }; @@ -49,24 +49,24 @@ static unsigned long long get_uval(unsigned char **p) { unsigned char c; - long long ret=0; + unsigned long long ret=0; int shift=0; for (;;) { c=*((*p)++); - ret+=((long long)c & 0x7f) << shift; + ret+=((unsigned long long)c & 0x7f) << shift; if (!(c & 0x80)) return ret; shift+=7; } } -static unsigned long long +static long long get_sval(unsigned char **p) { - long long ret=get_uval(p); + unsigned long long ret=get_uval(p); if (ret & 1) { - return -((ret >> 1)+1); + return -((long long)(ret >> 1)+1); } else { return ret >> 1; } |