Fix undefined behaviour when left-shifting negative values by casting to unsigned

This silences warning spam from UndefinedBehaviorSanitizer.
This commit is contained in:
Jonathan G Rennison
2018-06-06 18:25:45 +01:00
parent 6573a67b69
commit e1fb35b16f
4 changed files with 7 additions and 5 deletions

View File

@@ -24,7 +24,7 @@
static inline int ScaleByZoom(int value, ZoomLevel zoom)
{
assert(zoom >= 0);
return value << zoom;
return ((uint) value) << zoom;
}
/**
@@ -49,7 +49,7 @@ static inline int UnScaleByZoom(int value, ZoomLevel zoom)
static inline int ScaleByZoomLower(int value, ZoomLevel zoom)
{
assert(zoom >= 0);
return value << zoom;
return ((uint) value) << zoom;
}
/**