grid: swap_row: drop requirement that row indices be positive

This commit is contained in:
Daniel Eklöf 2019-07-10 19:17:53 +02:00
parent 4ffd93ca4c
commit 379f7cf646
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

5
grid.c
View file

@ -12,12 +12,13 @@ grid_swap_row(struct grid *grid, int row_a, int row_b)
{
assert(grid->offset >= 0);
assert(row_a != row_b);
assert(row_a >= 0);
assert(row_b >= 0);
int real_a = (grid->offset + row_a + grid->num_rows) % grid->num_rows;
int real_b = (grid->offset + row_b + grid->num_rows) % grid->num_rows;
assert(real_a >= 0);
assert(real_b >= 0);
struct row *tmp = grid->rows[real_a];
grid->rows[real_a] = grid->rows[real_b];
grid->rows[real_b] = tmp;