kernel: Make if/iteration evaluate boolean operands

Controlling expression of if and iteration statements must have a
boolean type.

MISRA-C rule 14.4

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
This commit is contained in:
Flavio Ceolin 2019-03-14 14:32:45 -07:00 committed by Anas Nashif
commit 2df02cc8db
6 changed files with 11 additions and 11 deletions

View file

@ -87,7 +87,7 @@ static inline bool z_is_idle_thread(void *entry_point)
static inline bool z_is_thread_pending(struct k_thread *thread) static inline bool z_is_thread_pending(struct k_thread *thread)
{ {
return !!(thread->base.thread_state & _THREAD_PENDING); return (thread->base.thread_state & _THREAD_PENDING) != 0;
} }
static inline bool z_is_thread_prevented_from_running(struct k_thread *thread) static inline bool z_is_thread_prevented_from_running(struct k_thread *thread)
@ -117,7 +117,7 @@ static inline bool z_has_thread_started(struct k_thread *thread)
static inline bool z_is_thread_state_set(struct k_thread *thread, u32_t state) static inline bool z_is_thread_state_set(struct k_thread *thread, u32_t state)
{ {
return !!(thread->base.thread_state & state); return (thread->base.thread_state & state) != 0;
} }
static inline bool z_is_thread_queued(struct k_thread *thread) static inline bool z_is_thread_queued(struct k_thread *thread)

View file

@ -101,7 +101,7 @@ Z_SYSCALL_HANDLER(k_msgq_alloc_init, q, msg_size, max_msgs)
void k_msgq_cleanup(struct k_msgq *q) void k_msgq_cleanup(struct k_msgq *q)
{ {
__ASSERT_NO_MSG(!z_waitq_head(&q->wait_q)); __ASSERT_NO_MSG(z_waitq_head(&q->wait_q) == NULL);
if ((q->flags & K_MSGQ_FLAG_ALLOC) != 0) { if ((q->flags & K_MSGQ_FLAG_ALLOC) != 0) {
k_free(q->buffer_start); k_free(q->buffer_start);

View file

@ -73,9 +73,9 @@ static inline int is_metairq(struct k_thread *thread)
} }
#if CONFIG_ASSERT #if CONFIG_ASSERT
static inline int is_thread_dummy(struct k_thread *thread) static inline bool is_thread_dummy(struct k_thread *thread)
{ {
return !!(thread->base.thread_state & _THREAD_DUMMY); return (thread->base.thread_state & _THREAD_DUMMY) != 0;
} }
#endif #endif

View file

@ -12,7 +12,7 @@
#define LOCKED(lck) for (k_spinlock_key_t __i = {}, \ #define LOCKED(lck) for (k_spinlock_key_t __i = {}, \
__key = k_spin_lock(lck); \ __key = k_spin_lock(lck); \
!__i.key; \ __i.key == 0; \
k_spin_unlock(lck, __key), __i.key = 1) k_spin_unlock(lck, __key), __i.key = 1)
static u64_t curr_tick; static u64_t curr_tick;

View file

@ -558,19 +558,19 @@ int z_object_validate(struct _k_object *ko, enum k_objects otype,
/* Manipulation of any kernel objects by a user thread requires that /* Manipulation of any kernel objects by a user thread requires that
* thread be granted access first, even for uninitialized objects * thread be granted access first, even for uninitialized objects
*/ */
if (unlikely(!thread_perms_test(ko))) { if (unlikely(thread_perms_test(ko) == 0)) {
return -EPERM; return -EPERM;
} }
/* Initialization state checks. _OBJ_INIT_ANY, we don't care */ /* Initialization state checks. _OBJ_INIT_ANY, we don't care */
if (likely(init == _OBJ_INIT_TRUE)) { if (likely(init == _OBJ_INIT_TRUE)) {
/* Object MUST be intialized */ /* Object MUST be intialized */
if (unlikely(!(ko->flags & K_OBJ_FLAG_INITIALIZED))) { if (unlikely((ko->flags & K_OBJ_FLAG_INITIALIZED) == 0)) {
return -EINVAL; return -EINVAL;
} }
} else if (init < _OBJ_INIT_TRUE) { /* _OBJ_INIT_FALSE case */ } else if (init < _OBJ_INIT_TRUE) { /* _OBJ_INIT_FALSE case */
/* Object MUST NOT be initialized */ /* Object MUST NOT be initialized */
if (unlikely(ko->flags & K_OBJ_FLAG_INITIALIZED)) { if (unlikely((ko->flags & K_OBJ_FLAG_INITIALIZED) != 0)) {
return -EADDRINUSE; return -EADDRINUSE;
} }
} else { } else {

View file

@ -79,7 +79,7 @@ int k_delayed_work_submit_to_queue(struct k_work_q *work_q,
int err = 0; int err = 0;
/* Work cannot be active in multiple queues */ /* Work cannot be active in multiple queues */
if (work->work_q && work->work_q != work_q) { if (work->work_q != NULL && work->work_q != work_q) {
err = -EADDRINUSE; err = -EADDRINUSE;
goto done; goto done;
} }
@ -98,7 +98,7 @@ int k_delayed_work_submit_to_queue(struct k_work_q *work_q,
/* Submit work directly if no delay. Note that this is a /* Submit work directly if no delay. Note that this is a
* blocking operation, so release the lock first. * blocking operation, so release the lock first.
*/ */
if (!delay) { if (delay == 0) {
k_spin_unlock(&lock, key); k_spin_unlock(&lock, key);
k_work_submit_to_queue(work_q, &work->work); k_work_submit_to_queue(work_q, &work->work);
return 0; return 0;