summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/lynx/WWW/Library/Implementation/HTList.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/usr.bin/lynx/WWW/Library/Implementation/HTList.c')
-rw-r--r--gnu/usr.bin/lynx/WWW/Library/Implementation/HTList.c217
1 files changed, 92 insertions, 125 deletions
diff --git a/gnu/usr.bin/lynx/WWW/Library/Implementation/HTList.c b/gnu/usr.bin/lynx/WWW/Library/Implementation/HTList.c
index 7a517ec64ae..ccb02b1988a 100644
--- a/gnu/usr.bin/lynx/WWW/Library/Implementation/HTList.c
+++ b/gnu/usr.bin/lynx/WWW/Library/Implementation/HTList.c
@@ -1,10 +1,10 @@
/* A small List class HTList.c
-** ==================
-**
-** A list is represented as a sequence of linked nodes of type HTList.
-** The first node is a header which contains no object.
-** New nodes are inserted between the header and the rest of the list.
-*/
+ * ==================
+ *
+ * A list is represented as a sequence of linked nodes of type HTList.
+ * The first node is a header which contains no object.
+ * New nodes are inserted between the header and the rest of the list.
+ */
#include <HTUtils.h>
#include <HTList.h>
@@ -13,12 +13,12 @@
/* Create list.
*/
-PUBLIC HTList * HTList_new NOARGS
+HTList *HTList_new(void)
{
HTList *newList;
if ((newList = typeMalloc(HTList)) == NULL)
- outofmem(__FILE__, "HTList_new");
+ outofmem(__FILE__, "HTList_new");
newList->object = NULL;
newList->next = NULL;
@@ -26,17 +26,15 @@ PUBLIC HTList * HTList_new NOARGS
return newList;
}
-
/* Delete list.
*/
-PUBLIC void HTList_delete ARGS1(
- HTList *, me)
+void HTList_delete(HTList *me)
{
HTList *current;
while ((current = me)) {
- me = me->next;
- FREE (current);
+ me = me->next;
+ FREE(current);
}
return;
@@ -44,10 +42,10 @@ PUBLIC void HTList_delete ARGS1(
/* Reverse order of elements in list.
*/
-PUBLIC HTList * HTList_reverse ARGS1(
- HTList *, start)
+HTList *HTList_reverse(HTList *start)
{
HTList *cur, *succ;
+
if (!(start && start->next && (cur = start->next->next)))
return start;
start->next->next = NULL;
@@ -64,15 +62,15 @@ PUBLIC HTList * HTList_reverse ARGS1(
*
* If successful, the second list will become empty but not freed.
*/
-PUBLIC HTList * HTList_appendList ARGS2(
- HTList *, start,
- HTList *, tail)
+HTList *HTList_appendList(HTList *start,
+ HTList *tail)
{
- HTList * temp = start;
+ HTList *temp = start;
if (!start) {
- CTRACE((tfp, "HTList: Trying to append list %p to a nonexisting list\n",
- tail));
+ CTRACE((tfp,
+ "HTList: Trying to append list %p to a nonexisting list\n",
+ tail));
return NULL;
}
if (!(tail && tail->next))
@@ -86,17 +84,14 @@ PUBLIC HTList * HTList_appendList ARGS2(
return start;
}
-
/* Link object to START of list (so it is pointed to by the head).
*
* Unlike HTList_addObject(), it does not malloc memory for HTList entry,
* it use already allocated memory which should not be free'd by any
* list operations (optimization).
*/
-PUBLIC void HTList_linkObject ARGS3(
- HTList *, me,
- void *, newObject,
- HTList *, newNode)
+void HTList_linkObject(HTList *me, void *newObject,
+ HTList *newNode)
{
if (me) {
if (newNode->object == NULL && newNode->next == NULL) {
@@ -107,52 +102,48 @@ PUBLIC void HTList_linkObject ARGS3(
} else {
/*
- * This node is already linked to some list (probably this one),
- * so refuse changing node pointers to keep the list valid!!!
+ * This node is already linked to some list (probably this one), so
+ * refuse changing node pointers to keep the list valid!!!
*/
CTRACE((tfp, "*** HTList: Refuse linking already linked obj "));
CTRACE((tfp, "%p, node %p, list %p\n",
- newObject, newNode, me));
+ newObject, newNode, me));
}
} else {
- CTRACE((tfp, "HTList: Trying to link object %p to a nonexisting list\n",
- newObject));
+ CTRACE((tfp,
+ "HTList: Trying to link object %p to a nonexisting list\n",
+ newObject));
}
return;
}
-
/* Add object to START of list (so it is pointed to by the head).
*/
-PUBLIC void HTList_addObject ARGS2(
- HTList *, me,
- void *, newObject)
+void HTList_addObject(HTList *me, void *newObject)
{
HTList *newNode;
if (me) {
if ((newNode = typeMalloc(HTList)) == NULL)
- outofmem(__FILE__, "HTList_addObject");
+ outofmem(__FILE__, "HTList_addObject");
+
newNode->object = newObject;
newNode->next = me->next;
me->next = newNode;
} else {
CTRACE((tfp, "HTList: Trying to add object %p to a nonexisting list\n",
- newObject));
+ newObject));
}
return;
}
-
/* Append object to END of list (furthest from the head).
*/
-PUBLIC void HTList_appendObject ARGS2(
- HTList *, me,
- void *, newObject)
+void HTList_appendObject(HTList *me, void *newObject)
{
HTList *temp = me;
@@ -165,37 +156,35 @@ PUBLIC void HTList_appendObject ARGS2(
return;
}
-
/* Insert an object into the list at a specified position.
-** If position is 0, this places the object at the head of the list
-** and is equivalent to HTList_addObject().
-*/
-PUBLIC void HTList_insertObjectAt ARGS3(
- HTList *, me,
- void *, newObject,
- int, pos)
+ * If position is 0, this places the object at the head of the list
+ * and is equivalent to HTList_addObject().
+ */
+void HTList_insertObjectAt(HTList *me, void *newObject,
+ int pos)
{
- HTList * newNode;
- HTList * temp = me;
- HTList * prevNode;
+ HTList *newNode;
+ HTList *temp = me;
+ HTList *prevNode;
int Pos = pos;
if (!temp) {
CTRACE((tfp, "HTList: Trying to add object %p to a nonexisting list\n",
- newObject));
+ newObject));
return;
}
if (Pos < 0) {
Pos = 0;
CTRACE((tfp, "HTList: Treating negative object position %d as %d.\n",
- pos, Pos));
+ pos, Pos));
}
prevNode = temp;
while ((temp = temp->next)) {
if (Pos == 0) {
if ((newNode = typeMalloc(HTList)) == NULL)
- outofmem(__FILE__, "HTList_addObjectAt");
+ outofmem(__FILE__, "HTList_addObjectAt");
+
newNode->object = newObject;
newNode->next = temp;
if (prevNode)
@@ -211,13 +200,10 @@ PUBLIC void HTList_insertObjectAt ARGS3(
return;
}
-
/* Unlink specified object from list.
* It does not free memory.
*/
-PUBLIC BOOL HTList_unlinkObject ARGS2(
- HTList *, me,
- void *, oldObject)
+BOOL HTList_unlinkObject(HTList *me, void *oldObject)
{
HTList *temp = me;
HTList *prevNode;
@@ -230,19 +216,16 @@ PUBLIC BOOL HTList_unlinkObject ARGS2(
prevNode->next = temp->next;
temp->next = NULL;
temp->object = NULL;
- return YES; /* Success */
+ return YES; /* Success */
}
}
}
- return NO; /* object not found or NULL list */
+ return NO; /* object not found or NULL list */
}
-
/* Remove specified object from list.
*/
-PUBLIC BOOL HTList_removeObject ARGS2(
- HTList *, me,
- void *, oldObject)
+BOOL HTList_removeObject(HTList *me, void *oldObject)
{
HTList *temp = me;
HTList *prevNode;
@@ -253,26 +236,23 @@ PUBLIC BOOL HTList_removeObject ARGS2(
temp = temp->next;
if (temp->object == oldObject) {
prevNode->next = temp->next;
- FREE (temp);
- return YES; /* Success */
+ FREE(temp);
+ return YES; /* Success */
}
}
}
- return NO; /* object not found or NULL list */
+ return NO; /* object not found or NULL list */
}
-
/* Remove object at a given position in the list, where 0 is the
-** object pointed to by the head (returns a pointer to the element
-** (->object) for the object, and NULL if the list is empty, or
-** if it doesn't exist - Yuk!).
-*/
-PUBLIC void * HTList_removeObjectAt ARGS2(
- HTList *, me,
- int, position)
+ * object pointed to by the head (returns a pointer to the element
+ * (->object) for the object, and NULL if the list is empty, or
+ * if it doesn't exist - Yuk!).
+ */
+void *HTList_removeObjectAt(HTList *me, int position)
{
- HTList * temp = me;
- HTList * prevNode;
+ HTList *temp = me;
+ HTList *prevNode;
int pos = position;
if (!temp || pos < 0)
@@ -290,18 +270,17 @@ PUBLIC void * HTList_removeObjectAt ARGS2(
pos--;
}
- return NULL; /* Reached the end of the list */
+ return NULL; /* Reached the end of the list */
}
/* Unlink object from START of list (the Last one inserted
* via HTList_linkObject(), and pointed to by the head).
* It does not free memory.
*/
-PUBLIC void * HTList_unlinkLastObject ARGS1(
- HTList *, me)
+void *HTList_unlinkLastObject(HTList *me)
{
- HTList * lastNode;
- void * lastObject;
+ HTList *lastNode;
+ void *lastObject;
if (me && me->next) {
lastNode = me->next;
@@ -311,42 +290,38 @@ PUBLIC void * HTList_unlinkLastObject ARGS1(
lastNode->object = NULL;
return lastObject;
- } else { /* Empty list */
+ } else { /* Empty list */
return NULL;
}
}
-
/* Remove object from START of list (the Last one inserted
-** via HTList_addObject(), and pointed to by the head).
-*/
-PUBLIC void * HTList_removeLastObject ARGS1(
- HTList *, me)
+ * via HTList_addObject(), and pointed to by the head).
+ */
+void *HTList_removeLastObject(HTList *me)
{
- HTList * lastNode;
- void * lastObject;
+ HTList *lastNode;
+ void *lastObject;
if (me && me->next) {
lastNode = me->next;
lastObject = lastNode->object;
me->next = lastNode->next;
- FREE (lastNode);
+ FREE(lastNode);
return lastObject;
- } else { /* Empty list */
+ } else { /* Empty list */
return NULL;
}
}
-
/* Remove object from END of list (the First one inserted
-** via HTList_addObject(), and furthest from the head).
-*/
-PUBLIC void * HTList_removeFirstObject ARGS1(
- HTList *, me)
+ * via HTList_addObject(), and furthest from the head).
+ */
+void *HTList_removeFirstObject(HTList *me)
{
- HTList * temp = me;
- HTList * prevNode;
+ HTList *temp = me;
+ HTList *prevNode;
void *firstObject;
if (!temp)
@@ -360,22 +335,20 @@ PUBLIC void * HTList_removeFirstObject ARGS1(
}
firstObject = temp->object;
prevNode->next = NULL;
- FREE (temp);
+ FREE(temp);
return firstObject;
- } else { /* Empty list */
+ } else { /* Empty list */
return NULL;
}
}
-
/* Determine total number of objects in the list,
-** not counting the head.
-*/
-PUBLIC int HTList_count ARGS1(
- HTList *, me)
+ * not counting the head.
+ */
+int HTList_count(HTList *me)
{
- HTList * temp = me;
+ HTList *temp = me;
int count = 0;
if (temp)
@@ -385,15 +358,12 @@ PUBLIC int HTList_count ARGS1(
return count;
}
-
/* Determine position of an object in the list (a value of 0
-** means it is pointed to by the head; returns -1 if not found).
-*/
-PUBLIC int HTList_indexOf ARGS2(
- HTList *, me,
- void *, object)
+ * means it is pointed to by the head; returns -1 if not found).
+ */
+int HTList_indexOf(HTList *me, void *object)
{
- HTList * temp = me;
+ HTList *temp = me;
int position = 0;
if (temp) {
@@ -404,19 +374,16 @@ PUBLIC int HTList_indexOf ARGS2(
}
}
- return -1; /* Object not in the list */
+ return -1; /* Object not in the list */
}
-
/* Return pointer to the object at a specified position in the list,
-** where 0 is the object pointed to by the head (returns NULL if
-** the list is empty, or if it doesn't exist - Yuk!).
-*/
-PUBLIC void * HTList_objectAt ARGS2(
- HTList *, me,
- int, position)
+ * where 0 is the object pointed to by the head (returns NULL if
+ * the list is empty, or if it doesn't exist - Yuk!).
+ */
+void *HTList_objectAt(HTList *me, int position)
{
- HTList * temp = me;
+ HTList *temp = me;
int pos = position;
if (!temp || pos < 0)
@@ -428,5 +395,5 @@ PUBLIC void * HTList_objectAt ARGS2(
pos--;
}
- return NULL; /* Reached the end of the list */
+ return NULL; /* Reached the end of the list */
}