From d36f90235fcf1561a43bf79283a40b042efff84a Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 27 Feb 2024 15:41:30 -0800 Subject: seq_build: struct/carray bugfix. * lib.c (seq_build_struct_finish, seq_build_carray_finish): These functions are still wrongly assuming that the list is finished by nreverse. We intead call seq_build_list_finish for that, which puts the list back into bu->obj. --- lib.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib.c b/lib.c index 9c8d5dec..8d928c66 100644 --- a/lib.c +++ b/lib.c @@ -1498,13 +1498,14 @@ static void seq_build_list_finish(seq_build_t *bu) static void seq_build_struct_finish(seq_build_t *bu) { - bu->obj = funcall1(bu->u.from_list_meth, nreverse(bu->obj)); + seq_build_list_finish(bu); + bu->obj = funcall1(bu->u.from_list_meth, bu->obj); } static void seq_build_carray_finish(seq_build_t *bu) { - bu->obj = carray_list(nreverse(bu->obj), bu->u.carray_type, nil); - + seq_build_list_finish(bu); + bu->obj = carray_list(bu->obj, bu->u.carray_type, nil); } static struct seq_build_ops -- cgit v1.2.3