TP13 exo2: Fix off-by-one in the pawns displaying loop
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Sat, 6 May 2017 15:29:44 +0000 (17:29 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Sat, 6 May 2017 15:29:44 +0000 (17:29 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
TP_13/exo2/lib/display.c

index 72bd0f5f37e071b639d7da69ac025f0d21956eb4..c60268a5dd80b783ae0b04ebf2f5a0093ea47ced 100644 (file)
@@ -93,7 +93,7 @@ static int remap_x(int x) {
 void print_coordinates(coordinates_t coordinates_array[], int base_y, int base_x) {
     unsigned i = 0;
 
-    while ((coordinates_array + i)->y != 0 && (coordinates_array + i)->x != 0) {
+    while ((coordinates_array + i)->y != 0 && (coordinates_array + i)->x != 0 && i < MAX_COORDINATES) {
         if ((coordinates_array + i)->type == 0) {
             print_o(base_y + remap_y((coordinates_array + i)->y), base_x + remap_x((coordinates_array + i)->x));
         } else {