strncpy(buf, ifba->ifba_name, sizeof(ifba->ifba_name));
strncpy(buf, ifba->ifba_ifsname, sizeof(ifba->ifba_ifsname));
bridge_addrs(s, brdg, delim)	int s;	char *brdg, *delim;{	struct ifbaconf ifbac;	struct ifbareq *ifba;	char *inbuf = NULL, buf[sizeof(ifba->ifba_name) + 1];	int i, len = 8192;	while (1) {		ifbac.ifbac_len = len;		ifbac.ifbac_buf = inbuf = realloc(inbuf, len);		strncpy(ifbac.ifbac_name, brdg, sizeof(ifbac.ifbac_name) - 1);		ifbac.ifbac_name[sizeof(ifbac.ifbac_name) - 1] = '\0';		if (inbuf == NULL)			err(EX_IOERR, "malloc");		if (ioctl(s, SIOCBRDGRTS, &ifbac) < 0) {			if (errno == ENETDOWN)				return (0);			err(EX_IOERR, "ioctl(SIOCBRDGRTS)");		}		if (ifbac.ifbac_len + sizeof(*ifba) < len)			break;		len *= 2;	}	for (i = 0; i < ifbac.ifbac_len / sizeof(*ifba); i++) {		ifba = ifbac.ifbac_req + i;		bzero(buf, sizeof(buf));		strncpy(buf, ifba->ifba_name, sizeof(ifba->ifba_name));		printf("%s%s %s %u ", delim, ether_ntoa(&ifba->ifba_dst),		    buf, ifba->ifba_age);#if 0		printb("flags", ifba->ifba_flags, IFBABITS);#endif		printf("\n");	}	return (0);}