array_init(*ep_array);
}
- return array_push(*ep_array, ep);
+ if (array_push(*ep_array, ep) < 0) {
+ return kr_error(ENOMEM);
+ }
+ return kr_ok();
}
/** Open endpoint protocols. */
* @return element index on success, <0 on failure
*/
#define array_push(array, val) \
- (array).len < (array).cap ? ((array).at[(array).len] = val, (array).len++) \
+ (int)((array).len < (array).cap ? ((array).at[(array).len] = val, (array).len++) \
: (array_reserve(array, ((array).cap + 1)) < 0 ? -1 \
- : ((array).at[(array).len] = val, (array).len++))
+ : ((array).at[(array).len] = val, (array).len++)))
/**
* Pop value from the end of the array.
* @return 0 on success, <0 on failure
*/
#define array_del(array, i) \
- (i) < (array).len ? ((array).len -= 1,(array).at[i] = (array).at[(array).len], 0) : -1
+ (int)((i) < (array).len ? ((array).len -= 1,(array).at[i] = (array).at[(array).len], 0) : -1)
/**
* Return last element of the array.