]> git.sur5r.net Git - cc65/commitdiff
Added CollLast
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 2 Sep 2000 11:47:08 +0000 (11:47 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sat, 2 Sep 2000 11:47:08 +0000 (11:47 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@314 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/common/coll.c
src/common/coll.h

index b1e94691075f06cf29b2cd7ddb8a24c70a45f13c..0b36ca4630021520f26760b78f94383c0656fa9f 100644 (file)
@@ -158,6 +158,18 @@ void* CollAt (Collection* C, unsigned Index)
 
 
 
+void* CollLast (Collection* C)
+/* Return the last item in a collection */
+{
+    /* We must have at least one entry */
+    PRECONDITION (C->Count > 0);
+
+    /* Return the element */
+    return C->Items[C->Count-1];
+}
+
+
+
 void CollDelete (Collection* C, unsigned Index)
 /* Remove the item with the given index from the collection. This will not
  * free the item itself, just the pointer. All items with higher indices
index 9c165799b1d049b26f4bd750f63bde1f207e7730..c84e0bbff0832b7998efc169dcd6b25eb4d9f435 100644 (file)
@@ -81,7 +81,7 @@ Collection* NewCollection (void);
 void FreeCollection (Collection* C);
 /* Free a collection */
 
-unsigned CollCount (Collection* C) attribute ((const));
+unsigned CollCount (Collection* C);
 /* Return the number of items in the collection */
 
 void CollInsert (Collection* C, void* Item, unsigned Index);
@@ -93,6 +93,9 @@ void CollAppend (Collection* C, void* Item);
 void* CollAt (Collection* C, unsigned Index) attribute ((const));
 /* Return the item at the given index */
 
+void* CollLast (Collection* C);
+/* Return the last item in a collection */
+
 void CollDelete (Collection* C, unsigned Index);
 /* Remove the item with the given index from the collection. This will not
  * free the item itself, just the pointer. All items with higher indices