diff options
Diffstat (limited to 'gnu/usr.bin/lynx/WWW/Library/Implementation/HTList.c')
| -rw-r--r-- | gnu/usr.bin/lynx/WWW/Library/Implementation/HTList.c | 217 |
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 */ } |
