summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authorMilton Miller <miltonm@bga.com>2007-07-07 01:18:49 -0500
committerJon Loeliger <jdl@freescale.com>2007-07-07 10:09:36 -0500
commit46779e8f8e5a13388835e9251fb741396e2d7f13 (patch)
treec0b0e0d8357050c1d57f14aeb91ba3b6e29d29b6 /data.c
parentd4290338514abdfac372aa9a7af180543c0622ad (diff)
downloaddevice-tree-compiler-46779e8f8e5a13388835e9251fb741396e2d7f13.tar.gz
dtc: clean up grow_data_for()
Change the grow_data_for function to copy struct data and modifiy the fields it is updating instead of storing all fields individually to a stack allocated struct. This reduces maintence for future enhancements as now all instances of struct data are created by modifying a copy of an existing struct data or directly copying empty_data. Signed-off-by: Milton Miller <miltonm@bga.com>
Diffstat (limited to 'data.c')
-rw-r--r--data.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/data.c b/data.c
index 5d7db17..3d68792 100644
--- a/data.c
+++ b/data.c
@@ -57,6 +57,8 @@ struct data data_grow_for(struct data d, int xlen)
if (xlen == 0)
return d;
+ nd = d;
+
newsize = xlen;
while ((d.len + xlen) > newsize)
@@ -64,8 +66,6 @@ struct data data_grow_for(struct data d, int xlen)
nd.asize = newsize;
nd.val = xrealloc(d.val, newsize);
- nd.len = d.len;
- nd.refs = d.refs;
assert(nd.asize >= (d.len + xlen));