librnr/dlistvoid.c
DListVoidNode_T *DListVoidIterNodePrev(DListVoidIter_T *pIter)
{
  CHKPTR(pIter, NULL);
  CHKPTR(pIter->m_pHead, NULL);
  CHKPTR(pIter->m_pNext, NULL);

  // end of list
  if( DLISTVOID_IS_EOL(pIter->m_pHead, pIter->m_pNext) )
  {
    return NULL;
  }
  else
  {
    pIter->m_pThis = pIter->m_pNext;
    pIter->m_pNext = ((dnode_t *)(pIter->m_pThis))->prev;
    return DLISTVOID_ENTRY(((dnode_t *)(pIter->m_pThis)));
  }
}
/*!
 * \brief Get the previous iterated node in dlist.
 *
 * \param pIter   Pointer to initialized iterator.
 *
 * \return Returns previous node in dlist on success,
 * NULL if if at end of list or on error.
 */
\brief Get the previous iterated node in dlist.
\param pIter   Pointer to initialized iterator.

\return Returns previous node in dlist on success,
NULL if if at end of list or on error.
\ brief Get the previous iterated node in dlist . \ param pIter Pointer to initialized iterator . \ return Returns previous node in dlist on success NULL if if at end of list or on error .
DListVoidNode_T *DListVoidIterNodePrev(DListVoidIter_T *pIter)
{
  CHKPTR(pIter, NULL);
  CHKPTR(pIter->m_pHead, NULL);
  CHKPTR(pIter->m_pNext, NULL);
  if( DLISTVOID_IS_EOL(pIter->m_pHead, pIter->m_pNext) )
  {
    return NULL;
  }
  else
  {
    pIter->m_pThis = pIter->m_pNext;
    pIter->m_pNext = ((dnode_t *)(pIter->m_pThis))->prev;
    return DLISTVOID_ENTRY(((dnode_t *)(pIter->m_pThis)));
  }
}
DListVoidNode_T * DListVoidIterNodePrev ( DListVoidIter_T * pIter ) { CHKPTR ( pIter , NULL ) ; CHKPTR ( pIter -> m_pHead , NULL ) ; CHKPTR ( pIter -> m_pNext , NULL ) ; if ( DLISTVOID_IS_EOL ( pIter -> m_pHead , pIter -> m_pNext ) ) { return NULL ; } else { pIter -> m_pThis = pIter -> m_pNext ; pIter -> m_pNext = ( ( dnode_t * ) ( pIter -> m_pThis ) ) -> prev ; return DLISTVOID_ENTRY ( ( ( dnode_t * ) ( pIter -> m_pThis ) ) ) ; } }
\brief Get the previous iterated node in dlist.
\ brief Get the previous iterated node in dlist .
// end of list