From 866c357da7ef1a2cb45290cb11ef91eb57b10169 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 10 Jan 2016 08:44:00 -0800 Subject: GC-correct order in copy_lazy_str. * lib.c (copy_lazy_str): Eliminate pointless initialization of ls.list and to nil. Make ls.prefix initialization the last step since it's the only operation which conses. --- lib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib.c') diff --git a/lib.c b/lib.c index cdc7ec1f..2c2e55a1 100644 --- a/lib.c +++ b/lib.c @@ -6135,12 +6135,12 @@ static val copy_lazy_str(val lstr) { val obj = make_obj(); obj->ls.type = LSTR; - obj->ls.list = obj->ls.prefix = nil; - obj->ls.prefix = copy_str(lstr->ls.prefix); + obj->ls.prefix = nil; obj->ls.list = lstr->ls.list; obj->ls.props = coerce(struct lazy_string_props *, chk_copy_obj(coerce(mem_t *, lstr->ls.props), sizeof *lstr->ls.props)); + obj->ls.prefix = copy_str(lstr->ls.prefix); return obj; } -- cgit v1.2.3