result: don't use undefined shift

Use a different way to generate the upper bits of the ASYNC mask
instead of undefined shift as warned by sanitizer
Add some unit test for this

See #497
This commit is contained in:
Wim Taymans 2020-12-21 21:07:34 +01:00
parent 08ba6097a1
commit 948255f801
2 changed files with 20 additions and 1 deletions

View file

@ -33,8 +33,8 @@ extern "C" {
#include <spa/utils/list.h>
#define SPA_ASYNC_BIT (1 << 30)
#define SPA_ASYNC_MASK (3 << 30)
#define SPA_ASYNC_SEQ_MASK (SPA_ASYNC_BIT - 1)
#define SPA_ASYNC_MASK (~SPA_ASYNC_SEQ_MASK)
#define SPA_RESULT_IS_OK(res) ((res) >= 0)
#define SPA_RESULT_IS_ERROR(res) ((res) < 0)