void
remove_protocol(struct protocol *proto)
{
struct protocol *p, *next;
struct protocol *p, *q;
for (p = protocols; p; p = next) {
q = NULL;
next = p->next;
for (p = protocols; p; p = p->next) {
if (p == proto) {
protocols = p->next;
if (q)
q->next=p->next;
else
free(p);
break
}