Browse Source

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>
main
Milton Miller 18 years ago committed by Jon Loeliger
parent
commit
46779e8f8e
  1. 4
      data.c

4
data.c

@ -57,6 +57,8 @@ struct data data_grow_for(struct data d, int xlen) @@ -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) @@ -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));


Loading…
Cancel
Save