if (pte == NULL) {
if (pte == NULL)
prefix_add(struct rde_aspath *asp, struct bgpd_addr *prefix, int prefixlen){	struct prefix	*p;	struct pt_entry	*pte;	int		 needlink = 0;	pte = pt_get(prefix, prefixlen);	if (pte == NULL) {		pte = pt_add(prefix, prefixlen);	}	p = prefix_bypeer(pte, asp->peer);	if (p == NULL) {		needlink = 1;		p = prefix_alloc();	}	if (needlink == 1)		prefix_link(p, pte, asp);	else {		if (p->aspath != asp)			/* prefix belongs to a different aspath so move */			return prefix_move(asp, p);		p->lastchange = time(NULL);	}	return pte;}