From 65ba786e28d41ff4f5081f8d8d1378dac6235de0 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Fri, 10 May 1996 21:19:39 +0000 Subject: (store_clone): Clone children too. --- libstore/clone.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'libstore') diff --git a/libstore/clone.c b/libstore/clone.c index 3030bae3..56749647 100644 --- a/libstore/clone.c +++ b/libstore/clone.c @@ -60,6 +60,21 @@ store_clone (struct store *from, struct store **to) if (! err) c->source = from->source; } + if (!err && from->num_children > 0) + { + int k; + + c->children = malloc (from->num_children * sizeof (struct store *)); + if (! c->children) + err = ENOMEM; + + for (k = 0; !err && k < from->num_children; k++) + { + err = store_clone (from->children[k], &c->children[k]); + if (! err) + c->num_children++; + } + } if (!err && from->meths->clone) err = (*from->meths->clone)(from, c); -- cgit v1.2.3