added method to insert items at the first NULL slot in the list. useful for removing...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 3 Mar 2006 15:13:23 +0000 (15:13 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 3 Mar 2006 15:13:23 +0000 (15:13 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@3244 dcc99617-32d9-48b4-a31d-7c20da2025e4

OpenSRF/src/libstack/osrf_list.c
OpenSRF/src/libstack/osrf_list.h

index 9b2de0f..9cfd89f 100644 (file)
@@ -25,6 +25,15 @@ int osrfListPush( osrfList* list, void* item ) {
        return 0;
 }
 
+int osrfListPushFirst( osrfList* list, void* item ) {
+       if(!(list && item)) return -1;
+       int i;
+       for( i = 0; i < list->size; i++ ) 
+               if(!list->arrlist[i]) break;
+       osrfListSet( list, item, i );
+       return list->size;
+}
+
 void* osrfListSet( osrfList* list, void* item, unsigned int position ) {
        if(!list || position < 0) return NULL;
 
index e936d1c..99ede9f 100644 (file)
@@ -142,5 +142,11 @@ void osrfListVanillaFree( void* item );
  */
 void osrfListSetDefaultFree( osrfList* list );
 
+/**
+ * Inserts the new item at the first free (null) slot
+ * in the array.  Item is shoved onto the end of the
+ * list if there are no null slots */
+int osrfListPushFirst( osrfList* list, void* item );
+
 
 #endif