diff options
| author | tylov <[email protected]> | 2023-08-01 15:45:37 +0200 |
|---|---|---|
| committer | tylov <[email protected]> | 2023-08-01 15:45:37 +0200 |
| commit | fc0942205fb06591a5784b2878187a4475c6af7b (patch) | |
| tree | 05f07febd688bce57d26b8beeb18dd3357b8fe61 /include/stc/coroutine.h | |
| parent | cd9d0f984e678691855787a2fa855ccd5876425f (diff) | |
| download | STC-modified-fc0942205fb06591a5784b2878187a4475c6af7b.tar.gz STC-modified-fc0942205fb06591a5784b2878187a4475c6af7b.zip | |
Fixed bug in cco_call_await() test.
Diffstat (limited to 'include/stc/coroutine.h')
| -rw-r--r-- | include/stc/coroutine.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/stc/coroutine.h b/include/stc/coroutine.h index 146f3efb..4a7fd6aa 100644 --- a/include/stc/coroutine.h +++ b/include/stc/coroutine.h @@ -94,10 +94,10 @@ typedef enum { /* cco_call_await(): assumes coroutine returns a cco_result value (int) */ #define cco_call_await(...) c_MACRO_OVERLOAD(cco_call_await, __VA_ARGS__) #define cco_call_await_1(corocall) cco_call_await_2(corocall, CCO_DONE) -#define cco_call_await_2(corocall, resultbits) \ +#define cco_call_await_2(corocall, awaitbits) \ do { \ *_state = __LINE__; \ - case __LINE__: { int _r = corocall; if (!(_r & ~(resultbits))) {return _r; goto _resume;} } \ + case __LINE__: { int _r = corocall; if (_r & ~(awaitbits)) {return _r; goto _resume;} } \ } while (0) /* cco_call_blocking(): assumes coroutine returns a cco_result value (int) */ @@ -170,10 +170,10 @@ typedef struct cco_runtime { #define cco_task_await(...) c_MACRO_OVERLOAD(cco_task_await, __VA_ARGS__) #define cco_task_await_2(task, rt) cco_task_await_3(task, rt, CCO_DONE) -#define cco_task_await_3(task, rt, resultbits) \ +#define cco_task_await_3(task, rt, awaitbits) \ do { \ cco_runtime* _rt = rt; \ - (_rt->stack[++_rt->top] = cco_cast_task(task))->cco_expect = (resultbits); \ + (_rt->stack[++_rt->top] = cco_cast_task(task))->cco_expect = (awaitbits); \ cco_yield_v(CCO_AWAIT); \ } while (0) |
