add: if ((msg->eoh) && (offset> (int)(msg->eoh-msg->buf))) list=&msg->body_lumps; else list=&msg->add_rm;
context: struct lump* del_lump(struct lump** list, int offset, int len, int type){	struct lump* tmp;	struct lump* prev, *t;	tmp=pkg_malloc(sizeof(struct lump));	if (tmp==0){		LOG(L_ERR, "ERROR: insert_new_lump_before: out of memory\n");		return 0;	}	memset(tmp,0,sizeof(struct lump));	tmp->op=LUMP_DEL;	tmp->type=type;	tmp->u.offset=offset;	tmp->len=len;	prev=0;	for (t=*list;t; prev=t, t=t->next){		/* insert it sorted after offset */		if (((t->op==LUMP_DEL)||(t->op==LUMP_NOP))&&(t->u.offset>offset))			break;	}	tmp->next=t;	if (prev) prev->next=tmp;	else *list=tmp;	return tmp;}