]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - libs/picomodel/lwo/list.c
uncrustify! now the code is only ugly on the *inside*
[xonotic/netradiant.git] / libs / picomodel / lwo / list.c
index d337296c4a40771e66176c8f0e8f7cba5ec21854..d57547dbcd222fc1f8886a093cf1e37dc54cee0f 100644 (file)
 /*
-======================================================================
-list.c
+   ======================================================================
+   list.c
 
-Generic linked list operations.
+   Generic linked list operations.
 
-Ernie Wright  17 Sep 00
-====================================================================== */
+   Ernie Wright  17 Sep 00
+   ====================================================================== */
 
 #include "../picointernal.h"
 #include "lwo2.h"
 
 
 /*
-======================================================================
-lwListFree()
-
-Free the items in a list.
-====================================================================== */
-
-void lwListFree( void *list, void ( *freeNode )( void * ))
-{
-   lwNode *node, *next;
-
-   node = ( lwNode * ) list;
-   while ( node ) {
-      next = node->next;
-      freeNode( node );
-      node = next;
-   }
+   ======================================================================
+   lwListFree()
+
+   Free the items in a list.
+   ====================================================================== */
+
+void lwListFree( void *list, void ( *freeNode )( void * ) ){
+       lwNode *node, *next;
+
+       node = ( lwNode * ) list;
+       while ( node ) {
+               next = node->next;
+               freeNode( node );
+               node = next;
+       }
 }
 
 
 /*
-======================================================================
-lwListAdd()
-
-Append a node to a list.
-====================================================================== */
-
-void lwListAdd( void **list, void *node )
-{
-   lwNode *head, *tail;
-
-   head = *(( lwNode ** ) list );
-   if ( !head ) {
-      *list = node;
-      return;
-   }
-   while ( head ) {
-      tail = head;
-      head = head->next;
-   }
-   tail->next = ( lwNode * ) node;
-   (( lwNode * ) node )->prev = tail;
+   ======================================================================
+   lwListAdd()
+
+   Append a node to a list.
+   ====================================================================== */
+
+void lwListAdd( void **list, void *node ){
+       lwNode *head, *tail;
+
+       head = *( ( lwNode ** ) list );
+       if ( !head ) {
+               *list = node;
+               return;
+       }
+       while ( head ) {
+               tail = head;
+               head = head->next;
+       }
+       tail->next = ( lwNode * ) node;
+       ( ( lwNode * ) node )->prev = tail;
 }
 
 
 /*
-======================================================================
-lwListInsert()
-
-Insert a node into a list in sorted order.
-====================================================================== */
-
-void lwListInsert( void **vlist, void *vitem, int ( *compare )( void *, void * ))
-{
-   lwNode **list, *item, *node, *prev;
-
-   if ( !*vlist ) {
-      *vlist = vitem;
-      return;
-   }
-
-   list = ( lwNode ** ) vlist;
-   item = ( lwNode * ) vitem;
-   node = *list;
-   prev = NULL;
-
-   while ( node ) {
-      if ( 0 < compare( node, item )) break;
-      prev = node;
-      node = node->next;
-   }
-
-   if ( !prev ) {
-      *list = item;
-      node->prev = item;
-      item->next = node;
-   }
-   else if ( !node ) {
-      prev->next = item;
-      item->prev = prev;
-   }
-   else {
-      item->next = node;
-      item->prev = prev;
-      prev->next = item;
-      node->prev = item;
-   }
+   ======================================================================
+   lwListInsert()
+
+   Insert a node into a list in sorted order.
+   ====================================================================== */
+
+void lwListInsert( void **vlist, void *vitem, int ( *compare )( void *, void * ) ){
+       lwNode **list, *item, *node, *prev;
+
+       if ( !*vlist ) {
+               *vlist = vitem;
+               return;
+       }
+
+       list = ( lwNode ** ) vlist;
+       item = ( lwNode * ) vitem;
+       node = *list;
+       prev = NULL;
+
+       while ( node ) {
+               if ( 0 < compare( node, item ) ) {
+                       break;
+               }
+               prev = node;
+               node = node->next;
+       }
+
+       if ( !prev ) {
+               *list = item;
+               node->prev = item;
+               item->next = node;
+       }
+       else if ( !node ) {
+               prev->next = item;
+               item->prev = prev;
+       }
+       else {
+               item->next = node;
+               item->prev = prev;
+               prev->next = item;
+               node->prev = item;
+       }
 }