Skip to content

Commit 456e433

Browse files
authored
Merge pull request #1812 from joto/use-clamp
Use std::clamp() to make expire code a bit cleaner
2 parents f342e36 + ca84d68 commit 456e433

File tree

1 file changed

+8
-16
lines changed

1 file changed

+8
-16
lines changed

src/expire-tiles.cpp

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -217,25 +217,17 @@ int expire_tiles::from_bbox(geom::box_t const &box)
217217

218218
/* Convert the box's Mercator coordinates into tile coordinates */
219219
auto const tmp_min = coords_to_tile({box.min_x(), box.max_y()});
220-
int min_tile_x = tmp_min.x() - tile_expiry_leeway;
221-
int min_tile_y = tmp_min.y() - tile_expiry_leeway;
220+
int const min_tile_x =
221+
std::clamp(int(tmp_min.x() - tile_expiry_leeway), 0, m_map_width);
222+
int const min_tile_y =
223+
std::clamp(int(tmp_min.y() - tile_expiry_leeway), 0, m_map_width);
222224

223225
auto const tmp_max = coords_to_tile({box.max_x(), box.min_y()});
224-
int max_tile_x = tmp_max.x() + tile_expiry_leeway;
225-
int max_tile_y = tmp_max.y() + tile_expiry_leeway;
226+
int const max_tile_x =
227+
std::clamp(int(tmp_max.x() + tile_expiry_leeway), 0, m_map_width);
228+
int const max_tile_y =
229+
std::clamp(int(tmp_max.y() + tile_expiry_leeway), 0, m_map_width);
226230

227-
if (min_tile_x < 0) {
228-
min_tile_x = 0;
229-
}
230-
if (min_tile_y < 0) {
231-
min_tile_y = 0;
232-
}
233-
if (max_tile_x > m_map_width) {
234-
max_tile_x = m_map_width;
235-
}
236-
if (max_tile_y > m_map_width) {
237-
max_tile_y = m_map_width;
238-
}
239231
for (int iterator_x = min_tile_x; iterator_x <= max_tile_x; ++iterator_x) {
240232
uint32_t const norm_x = normalise_tile_x_coord(iterator_x);
241233
for (int iterator_y = min_tile_y; iterator_y <= max_tile_y;

0 commit comments

Comments
 (0)