blob: cf3058666ac8be0a1f99671a735e963adbf95581 [file] [log] [blame]
/* For copyright information, see olden_v1.0/COPYRIGHT */
/********************************************************************
* List.c: Handles lists. *
* To be used with health.c *
********************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include "health.h"
/* LevelRaiseHack - Level raise is having issues with addList. This is a gross
hack to get health working better.
*/
static void LevelRaiseHack(struct List *L) {}
void addList(struct List *list, struct Patient *patient) {
struct List *b;
while (list != NULL) {
b = list;
list = list->forward; }
list = (struct List *)malloc(sizeof(struct List));
LevelRaiseHack(list);
list->patient = patient;
list->forward = NULL;
list->back = b;
b->forward = list;
}
void removeList(struct List *list, struct Patient *patient) {
struct List *l1,*l2;
struct Patient *p;
p = list->patient;
while(p != patient) {
list = list->forward;
p = list->patient;
}
l1 = list->back;
l2 = list->forward;
l1->forward = l2;
if (list->forward != NULL) {
l1 = list->forward;
l2 = list->back;
l1->back = l2;
}
/*free(list);*/
}