openbmc/build/tmp/deploy/sdk/witherspoon-2019-08-08/sysroots/armv6-openbmc-linux-gnueabi/usr/src/debug/dbus-broker/19-r0/dbus-broker-19/subprojects/c-rbtree/src/c-rbtree.h
static inline void c_rbnode_unlink(CRBNode* n)
{
    if (c_rbnode_is_linked(n))
    {
        c_rbnode_unlink_stale(n);
        c_rbnode_init(n);
    }
}
/**
 * c_rbnode_unlink() - safely remove node from tree and reinitialize it
 * @n:          node to remove, or NULL
 *
 * This is almost the same as c_rbnode_unlink_stale(), but extends it slightly,
 * to be more convenient to use in many cases:
 *  - if @n is unlinked or NULL, this is a no-op
 *  - @n is reinitialized after being removed
 */
safely remove node from tree and reinitialize it
@n:          node to remove, or NULL

This is almost the same as c_rbnode_unlink_stale(), but extends it slightly,
to be more convenient to use in many cases:
- if @n is unlinked or NULL, this is a no-op
- @n is reinitialized after being removed
safely remove node from tree and reinitialize it @n : node to remove or NULL This is almost the same as c_rbnode_unlink_stale () but extends it slightly to be more convenient to use in many cases : - if @n is unlinked or NULL this is a no - op - @n is reinitialized after being removed
static inline void c_rbnode_unlink(CRBNode* n)
{
    if (c_rbnode_is_linked(n))
    {
        c_rbnode_unlink_stale(n);
        c_rbnode_init(n);
    }
}
static inline void c_rbnode_unlink ( CRBNode * n ) { if ( c_rbnode_is_linked ( n ) ) { c_rbnode_unlink_stale ( n ) ; c_rbnode_init ( n ) ; } }
c_rbnode_unlink() - safely remove node from tree and reinitialize it
 @n:          node to remove, or NULL
c_rbnode_unlink () - safely remove node from tree and reinitialize it @n : node to remove or NULL