Skip to content

Commit ca75c11

Browse files
committed
Fix implicit sign conversions in expire code
1 parent e99f334 commit ca75c11

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

src/expire-tiles.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,13 @@ void expire_tiles::expire_tile(uint32_t x, uint32_t y)
116116
}
117117
}
118118

119-
int expire_tiles::normalise_tile_x_coord(int x)
119+
uint32_t expire_tiles::normalise_tile_x_coord(int x)
120120
{
121121
x %= map_width;
122122
if (x < 0) {
123123
x = (map_width - x) + 1;
124124
}
125-
return x;
125+
return static_cast<uint32_t>(x);
126126
}
127127

128128
void expire_tiles::coords_to_tile(double lon, double lat, double *tilex,
@@ -200,10 +200,12 @@ void expire_tiles::from_line(double lon_a, double lat_a, double lon_b,
200200
}
201201
for (int x = x1 - TILE_EXPIRY_LEEWAY; x <= x2 + TILE_EXPIRY_LEEWAY;
202202
++x) {
203-
int const norm_x = normalise_tile_x_coord(x);
203+
uint32_t const norm_x = normalise_tile_x_coord(x);
204204
for (int y = y1 - TILE_EXPIRY_LEEWAY; y <= y2 + TILE_EXPIRY_LEEWAY;
205205
++y) {
206-
expire_tile(norm_x, y);
206+
if (y >= 0) {
207+
expire_tile(norm_x, static_cast<uint32_t>(y));
208+
}
207209
}
208210
}
209211
}
@@ -256,10 +258,10 @@ int expire_tiles::from_bbox(double min_lon, double min_lat, double max_lon,
256258
max_tile_y = map_width;
257259
}
258260
for (int iterator_x = min_tile_x; iterator_x <= max_tile_x; ++iterator_x) {
259-
int const norm_x = normalise_tile_x_coord(iterator_x);
261+
uint32_t const norm_x = normalise_tile_x_coord(iterator_x);
260262
for (int iterator_y = min_tile_y; iterator_y <= max_tile_y;
261263
++iterator_y) {
262-
expire_tile(norm_x, iterator_y);
264+
expire_tile(norm_x, static_cast<uint32_t>(iterator_y));
263265
}
264266
}
265267
return 0;

src/expire-tiles.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ struct expire_tiles
178178
* \param y y index of the tile to be expired.
179179
*/
180180
void expire_tile(uint32_t x, uint32_t y);
181-
int normalise_tile_x_coord(int x);
181+
uint32_t normalise_tile_x_coord(int x);
182182
void from_line(double lon_a, double lat_a, double lon_b, double lat_b);
183183

184184
void from_wkb_point(ewkb::parser_t *wkb);

0 commit comments

Comments
 (0)