From 11a8149d673d96bec17d6487b5fa95b5bf5ffd6b Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Thu, 20 Apr 2023 13:52:13 +0100 Subject: Use a dedicated copy function to copy dsfs. Previously we were duplicating the contents of a dsf using straight-up memcpy. Now there's a dsf_copy function wrapping the same memcpy. For the moment, this still has to take a size parameter, because the size isn't stored inside the dsf itself. But once we make a proper data type, it will be. --- loopy.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'loopy.c') diff --git a/loopy.c b/loopy.c index 70e1106..f06596e 100644 --- a/loopy.c +++ b/loopy.c @@ -457,8 +457,7 @@ static solver_state *dup_solver_state(const solver_state *sstate) { ret->dotdsf = snewn(num_dots, int); ret->looplen = snewn(num_dots, int); - memcpy(ret->dotdsf, sstate->dotdsf, - num_dots * sizeof(int)); + dsf_copy(ret->dotdsf, sstate->dotdsf, num_dots); memcpy(ret->looplen, sstate->looplen, num_dots * sizeof(int)); @@ -487,8 +486,7 @@ static solver_state *dup_solver_state(const solver_state *sstate) { if (sstate->linedsf) { ret->linedsf = snewn(num_edges, int); - memcpy(ret->linedsf, sstate->linedsf, - num_edges * sizeof(int)); + dsf_copy(ret->linedsf, sstate->linedsf, num_edges); } else { ret->linedsf = NULL; } -- cgit v1.1