From 03ffb83851690e155a65606010052490f8e5a934 Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Mon, 6 Mar 2023 16:41:22 +0100 Subject: Simplify macro calling coroutine from coroutine. --- include/stc/algo/coroutine.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/stc/algo/coroutine.h b/include/stc/algo/coroutine.h index 6d502988..59e4cfca 100644 --- a/include/stc/algo/coroutine.h +++ b/include/stc/algo/coroutine.h @@ -86,8 +86,10 @@ enum { #define cco_yield_3(corocall, ctx, retval) \ do { \ *_state = __LINE__; \ - c_PASTE(cco, __LINE__): corocall; if (cco_alive(ctx)) return retval; \ - case __LINE__: if ((ctx)->cco_state >= cco_state_final) goto c_PASTE(cco, __LINE__); \ + do { \ + corocall; if (cco_alive(ctx)) return retval; \ + case __LINE__:; \ + } while ((ctx)->cco_state >= cco_state_final); \ } while (0) #define cco_final \ -- cgit v1.2.3