From 748e6c1e80e7c34cf255e1e8e030dd5414afb5da Mon Sep 17 00:00:00 2001 From: Po Lu Date: Tue, 28 Jun 2022 05:43:13 +0000 Subject: [PATCH] Automatically detect cyclic lists in some Haiku functions * src/haikuselect.c (haiku_lisp_to_message): Use FOR_EACH_TAIL to iterate over message data. --- src/haikuselect.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/haikuselect.c b/src/haikuselect.c index 96223902f8c..fe76e09810c 100644 --- a/src/haikuselect.c +++ b/src/haikuselect.c @@ -441,10 +441,10 @@ haiku_lisp_to_message (Lisp_Object obj, void *message) int rc; specpdl_ref ref; - CHECK_LIST (obj); - for (tem = obj; CONSP (tem); tem = XCDR (tem)) + tem = obj; + + FOR_EACH_TAIL (tem) { - maybe_quit (); t1 = XCAR (tem); CHECK_CONS (t1); @@ -490,9 +490,9 @@ haiku_lisp_to_message (Lisp_Object obj, void *message) signal_error ("Unknown data type", type_sym); CHECK_LIST (t1); - for (t2 = XCDR (t1); CONSP (t2); t2 = XCDR (t2)) + t2 = XCDR (t1); + FOR_EACH_TAIL (t2) { - maybe_quit (); data = XCAR (t2); if (FIXNUMP (type_sym) || BIGNUMP (type_sym)) -- 2.39.5