if (likely(rte_mbuf_refcnt_read(m) == 1)) {
if (!RTE_MBUF_DIRECT(m)) {
- if (!RTE_MBUF_HAS_EXTBUF(m) ||
- !RTE_MBUF_HAS_PINNED_EXTBUF(m))
- rte_pktmbuf_detach(m);
- else if (__rte_pktmbuf_pinned_extbuf_decref(m))
+ rte_pktmbuf_detach(m);
+ if (RTE_MBUF_HAS_EXTBUF(m) &&
+ RTE_MBUF_HAS_PINNED_EXTBUF(m) &&
+ __rte_pktmbuf_pinned_extbuf_decref(m))
return NULL;
}
} else if (__rte_mbuf_refcnt_update(m, -1) == 0) {
if (!RTE_MBUF_DIRECT(m)) {
- if (!RTE_MBUF_HAS_EXTBUF(m) ||
- !RTE_MBUF_HAS_PINNED_EXTBUF(m))
- rte_pktmbuf_detach(m);
- else if (__rte_pktmbuf_pinned_extbuf_decref(m))
+ rte_pktmbuf_detach(m);
+ if (RTE_MBUF_HAS_EXTBUF(m) &&
+ RTE_MBUF_HAS_PINNED_EXTBUF(m) &&
+ __rte_pktmbuf_pinned_extbuf_decref(m))
return NULL;
}
static inline int rte_pktmbuf_is_contiguous(const struct rte_mbuf *m)
{
__rte_mbuf_sanity_check(m, 1);
- return !!(m->nb_segs == 1);
+ return m->nb_segs == 1;
}
/**