star-cpr

Clip 2D meshes with 2D polygons
git clone git://git.meso-star.fr/star-cpr.git
Log | Files | Refs | README | LICENSE

commit 91a905be96b8839148fb4f56f931968c15302dd4
parent 55a940ef222b54638d0655213ad556a139f380b7
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Thu,  9 Feb 2023 18:31:28 +0100

Fix polygon copy creation

Diffstat:
Msrc/scpr_polygon.c | 18+++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/src/scpr_polygon.c b/src/scpr_polygon.c @@ -249,8 +249,8 @@ scpr_polygon_create_copy const struct scpr_polygon* src_polygon, struct scpr_polygon** out_polygon) { - struct scpr_polygon* copy; - int copy_created = 0; + struct scpr_polygon* copy = NULL; + int i; res_T res = RES_OK; if(!src_polygon || !out_polygon) { @@ -258,22 +258,18 @@ scpr_polygon_create_copy goto error; } ERR(scpr_polygon_create(allocator, &copy)); - copy_created = 1; copy->paths = src_polygon->paths; - int i; - for(i = 0; i < 2; i++) { - if(copy->lower[i] > src_polygon->lower[i]) - copy->lower[i] = src_polygon->lower[i]; - if(copy->upper[i] < src_polygon->upper[i]) - copy->upper[i] = src_polygon->upper[i]; - } + for(i = 0; i < 2; i++) { + copy->lower[i] = src_polygon->lower[i]; + copy->upper[i] = src_polygon->upper[i]; + } exit: if(out_polygon) *out_polygon = copy; return res; error: - if(copy_created) CHK(RES_OK == scpr_polygon_ref_put(copy)); + if(copy) SCPR(polygon_ref_put(copy)); copy = NULL; goto exit; }