summaryrefslogtreecommitdiff
path: root/navit/maptool/osm_o5m.c
diff options
context:
space:
mode:
Diffstat (limited to 'navit/maptool/osm_o5m.c')
-rw-r--r--navit/maptool/osm_o5m.c12
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;
}