#include "copyright.h"
#include "db.h"
/* remove the first occurence of what in list headed by first */
dbref remove_first (dbref first, dbref what)
{
dbref prev;
/* special case if it's the first one */
if (first == what) {
return db[first].next;
} else {
/* have to find it */
DOLIST (prev, first) {
if (db[prev].next == what) {
db[prev].next = db[what].next;
return first;
}
}
return first;
}
}
int member (dbref thing, dbref list)
{
DOLIST (list, list) {
if (list == thing)
return 1;
}
return 0;
}
dbref reverse (dbref list)
{
dbref newlist;
dbref rest;
newlist = NOTHING;
while (list != NOTHING) {
rest = db[list].next;
PUSH (list, newlist);
list = rest;
}
return newlist;
}