From 0b584541d07252768f5a72f75eae798d8a1a05ca Mon Sep 17 00:00:00 2001 From: Nicklas Larsson Date: Sat, 4 Mar 2023 14:07:53 +0100 Subject: [PATCH 1/2] fix -Wpedantic compiler warrnings --- lib/vector/Vlib/buffer2.c | 6 ++-- lib/vector/Vlib/poly.c | 12 ++++---- lib/vector/Vlib/select.c | 2 +- lib/vector/diglib/spindex.c | 58 +++++++++++++++++++++---------------- 4 files changed, 42 insertions(+), 36 deletions(-) diff --git a/lib/vector/Vlib/buffer2.c b/lib/vector/Vlib/buffer2.c index c80cc159c44..25a3175f16e 100644 --- a/lib/vector/Vlib/buffer2.c +++ b/lib/vector/Vlib/buffer2.c @@ -1024,8 +1024,8 @@ void Vect_line_buffer2(const struct line_pnts *Points, double da, double db, Vect_line_prune((struct line_pnts *)Points); if (Points->n_points == 1) - return Vect_point_buffer2(Points->x[0], Points->y[0], da, db, dalpha, - round, tol, oPoints); + return; /* Vect_point_buffer2(Points->x[0], Points->y[0], da, db, + dalpha, round, tol, oPoints)*/ /* initializations */ tPoints = Vect_new_line_struct(); @@ -1052,8 +1052,6 @@ void Vect_line_buffer2(const struct line_pnts *Points, double da, double db, Vect_destroy_line_struct(outer); destroy_lines_array(isles, isles_count); pg_destroy_struct(pg); - - return; } /*! diff --git a/lib/vector/Vlib/poly.c b/lib/vector/Vlib/poly.c index 0840905ba85..6eb406fb42d 100644 --- a/lib/vector/Vlib/poly.c +++ b/lib/vector/Vlib/poly.c @@ -26,7 +26,7 @@ struct Slink { }; /* function prototypes */ -static int comp_double(double *, double *); +static int comp_double(const void *, const void *); static int V__within(double, double, double); int Vect__intersect_y_line_with_poly(const struct line_pnts *, double, struct line_pnts *); @@ -93,12 +93,12 @@ int Vect_get_point_in_area(const struct Map_info *Map, int area, double *X, return -1; } -static int comp_double(double *i, double *j) +static int comp_double(const void *i, const void *j) { - if (*i < *j) + if (*(const double *)i < *(const double *)j) return -1; - return (*i > *j); + return (*(const double *)i > *(const double *)j); } static int V__within(double a, double x, double b) @@ -577,7 +577,7 @@ int Vect_get_point_in_poly_isl(const struct line_pnts *Points, return -1; qsort(Intersects->x, (size_t)Intersects->n_points, sizeof(double), - (void *)comp_double); + comp_double); max = 0; maxpos = 0; @@ -629,7 +629,7 @@ int Vect_get_point_in_poly_isl(const struct line_pnts *Points, return -1; qsort(Intersects->y, (size_t)Intersects->n_points, sizeof(double), - (void *)comp_double); + comp_double); max = 0; maxpos = 0; diff --git a/lib/vector/Vlib/select.c b/lib/vector/Vlib/select.c index a1fcf34d82d..28de0fab2e2 100644 --- a/lib/vector/Vlib/select.c +++ b/lib/vector/Vlib/select.c @@ -153,7 +153,7 @@ int Vect_spatial_index_select(const struct spatial_index *si, rect.boundary[3] = box->E; rect.boundary[4] = box->N; rect.boundary[5] = box->T; - RTreeSearch(si->si_tree, &rect, (void *)_add_item, list); + RTreeSearch(si->si_tree, &rect, (SearchHitCallback *)_add_item, list); G_debug(3, "Vect_spatial_index_select(): %d items selected", list->n_values); diff --git a/lib/vector/diglib/spindex.c b/lib/vector/diglib/spindex.c index 1beeb66678b..f56dd1f9adc 100644 --- a/lib/vector/diglib/spindex.c +++ b/lib/vector/diglib/spindex.c @@ -682,9 +682,11 @@ int dig_select_nodes(struct Plus_head *Plus, const struct bound_box *box, rect.boundary[5] = box->T; if (Plus->Spidx_new) - RTreeSearch(Plus->Node_spidx, &rect, (void *)_add_item, list); + RTreeSearch(Plus->Node_spidx, &rect, (SearchHitCallback *)_add_item, + list); else - rtree_search(Plus->Node_spidx, &rect, (void *)_add_item, list, Plus); + rtree_search(Plus->Node_spidx, &rect, (SearchHitCallback *)_add_item, + list, Plus); return (list->n_values); } @@ -728,9 +730,11 @@ int dig_find_node(struct Plus_head *Plus, double x, double y, double z) node = 0; if (Plus->Spidx_new) - RTreeSearch(Plus->Node_spidx, &rect, (void *)_add_node, &node); + RTreeSearch(Plus->Node_spidx, &rect, (SearchHitCallback *)_add_node, + &node); else - rtree_search(Plus->Node_spidx, &rect, (void *)_add_node, &node, Plus); + rtree_search(Plus->Node_spidx, &rect, (SearchHitCallback *)_add_node, + &node, Plus); return node; } @@ -769,10 +773,11 @@ int dig_select_lines(struct Plus_head *Plus, const struct bound_box *box, rect.boundary[5] = box->T; if (Plus->Spidx_new) - RTreeSearch(Plus->Line_spidx, &rect, (void *)_add_item_with_box, list); + RTreeSearch(Plus->Line_spidx, &rect, + (SearchHitCallback *)_add_item_with_box, list); else - rtree_search(Plus->Line_spidx, &rect, (void *)_add_item_with_box, list, - Plus); + rtree_search(Plus->Line_spidx, &rect, + (SearchHitCallback *)_add_item_with_box, list, Plus); return (list->n_values); } @@ -832,11 +837,12 @@ int dig_find_line_box(struct Plus_head *Plus, int line, struct bound_box *box) box_id.box = box; if (Plus->Spidx_new) - ret = RTreeSearch(Plus->Line_spidx, &rect, (void *)_set_item_box, - &box_id); + ret = RTreeSearch(Plus->Line_spidx, &rect, + (SearchHitCallback *)_set_item_box, &box_id); else - ret = rtree_search(Plus->Line_spidx, &rect, (void *)_set_item_box, - &box_id, Plus); + ret = + rtree_search(Plus->Line_spidx, &rect, + (SearchHitCallback *)_set_item_box, &box_id, Plus); return ret; } @@ -883,10 +889,11 @@ int dig_select_areas(struct Plus_head *Plus, const struct bound_box *box, rect.boundary[5] = box->T; if (Plus->Spidx_new) - RTreeSearch(Plus->Area_spidx, &rect, (void *)_add_item_with_box, list); + RTreeSearch(Plus->Area_spidx, &rect, + (SearchHitCallback *)_add_item_with_box, list); else - rtree_search(Plus->Area_spidx, &rect, (void *)_add_item_with_box, list, - Plus); + rtree_search(Plus->Area_spidx, &rect, + (SearchHitCallback *)_add_item_with_box, list, Plus); return (list->n_values); } @@ -936,11 +943,11 @@ int dig_find_area_box(struct Plus_head *Plus, int area, struct bound_box *box) box_id.box = box; if (Plus->Spidx_new) - ret = RTreeSearch(Plus->Area_spidx, &rect, (void *)_set_item_box, - &box_id); + ret = RTreeSearch(Plus->Area_spidx, &rect, + (SearchHitCallback *)_set_item_box, &box_id); else - ret = rtree_search(Plus->Area_spidx, &rect, (void *)_set_item_box, - &box_id, Plus); + ret = rtree_search(Plus->Area_spidx, &rect, + (SearchHitCallback *)_set_item_box, &box_id, Plus); return ret; } @@ -978,10 +985,11 @@ int dig_select_isles(struct Plus_head *Plus, const struct bound_box *box, rect.boundary[5] = box->T; if (Plus->Spidx_new) - RTreeSearch(Plus->Isle_spidx, &rect, (void *)_add_item_with_box, list); + RTreeSearch(Plus->Isle_spidx, &rect, + (SearchHitCallback *)_add_item_with_box, list); else - rtree_search(Plus->Isle_spidx, &rect, (void *)_add_item_with_box, list, - Plus); + rtree_search(Plus->Isle_spidx, &rect, + (SearchHitCallback *)_add_item_with_box, list, Plus); return (list->n_values); } @@ -1031,11 +1039,11 @@ int dig_find_isle_box(struct Plus_head *Plus, int isle, struct bound_box *box) box_id.box = box; if (Plus->Spidx_new) - ret = RTreeSearch(Plus->Isle_spidx, &rect, (void *)_set_item_box, - &box_id); + ret = RTreeSearch(Plus->Isle_spidx, &rect, + (SearchHitCallback *)_set_item_box, &box_id); else - ret = rtree_search(Plus->Isle_spidx, &rect, (void *)_set_item_box, - &box_id, Plus); + ret = rtree_search(Plus->Isle_spidx, &rect, + (SearchHitCallback *)_set_item_box, &box_id, Plus); return ret; } From 785ab26638ab8ef47f2831129f9e0667e42bc220 Mon Sep 17 00:00:00 2001 From: Nicklas Larsson Date: Sat, 11 Mar 2023 12:47:28 +0100 Subject: [PATCH 2/2] update fix of buffer2.c --- lib/vector/Vlib/buffer2.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/vector/Vlib/buffer2.c b/lib/vector/Vlib/buffer2.c index 25a3175f16e..c5ec53f8550 100644 --- a/lib/vector/Vlib/buffer2.c +++ b/lib/vector/Vlib/buffer2.c @@ -1023,9 +1023,11 @@ void Vect_line_buffer2(const struct line_pnts *Points, double da, double db, Vect_line_prune((struct line_pnts *)Points); - if (Points->n_points == 1) - return; /* Vect_point_buffer2(Points->x[0], Points->y[0], da, db, - dalpha, round, tol, oPoints)*/ + if (Points->n_points == 1) { + Vect_point_buffer2(Points->x[0], Points->y[0], da, db, dalpha, round, + tol, oPoints); + return; + } /* initializations */ tPoints = Vect_new_line_struct();