summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--include/stc/algo/coroutine.h2
-rw-r--r--misc/examples/coroutines.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/include/stc/algo/coroutine.h b/include/stc/algo/coroutine.h
index 3592b968..d29b2cef 100644
--- a/include/stc/algo/coroutine.h
+++ b/include/stc/algo/coroutine.h
@@ -68,7 +68,7 @@ enum {
#define cco_begin(ctx) \
int *_state = &(ctx)->cco_state; \
switch (*_state) { \
- case 0: case cco_state_done:
+ case 0:
#define cco_end(retval) \
*_state = cco_state_done; break; \
diff --git a/misc/examples/coroutines.c b/misc/examples/coroutines.c
index 2c9e6d5c..b11b8532 100644
--- a/misc/examples/coroutines.c
+++ b/misc/examples/coroutines.c
@@ -85,6 +85,7 @@ bool combined(struct combined* C) {
// Reuse the C->prm context and extend the count:
C->prm.count = 8; C->prm.result += 2;
+ cco_reset(&C->prm);
cco_yield(prime(&C->prm), &C->prm, true);
cco_final: puts("final comb");