1
1

fixed a couple of porting (C++->C) issues

This commit was SVN r638.
Этот коммит содержится в:
Tim Woodall 2004-02-02 16:11:59 +00:00
родитель 60be99b4cd
Коммит 8908bf2cbc

Просмотреть файл

@ -65,6 +65,7 @@ static int lam_ifinit(void)
close(sd); close(sd);
return LAM_ERROR; return LAM_ERROR;
} }
STATIC_INIT(lam_if_list, &lam_list_cls);
for(ptr = buff; ptr < buff + ifconf.ifc_len; ) { for(ptr = buff; ptr < buff + ifconf.ifc_len; ) {
struct ifreq* ifr = (struct ifreq*)ptr; struct ifreq* ifr = (struct ifreq*)ptr;
@ -72,6 +73,8 @@ static int lam_ifinit(void)
lam_if_t *intf_ptr; lam_if_t *intf_ptr;
lam_list_item_init(&intf.if_item); lam_list_item_init(&intf.if_item);
STATIC_INIT(intf, &lam_list_item_cls);
#if defined(__APPLE__) #if defined(__APPLE__)
ptr += (sizeof(ifr->ifr_name) + ptr += (sizeof(ifr->ifr_name) +
MAX(sizeof(struct sockaddr),ifr->ifr_addr.sa_len)); MAX(sizeof(struct sockaddr),ifr->ifr_addr.sa_len));
@ -89,7 +92,7 @@ static int lam_ifinit(void)
if(ifr->ifr_addr.sa_family != AF_INET) if(ifr->ifr_addr.sa_family != AF_INET)
continue; continue;
if(ioctl(sd, SIOCGIFFLAGS, &ifr) < 0) { if(ioctl(sd, SIOCGIFFLAGS, ifr) < 0) {
lam_output(0, "lam_ifinit: ioctl(SIOCGIFFLAGS) failed with errno=%d", errno); lam_output(0, "lam_ifinit: ioctl(SIOCGIFFLAGS) failed with errno=%d", errno);
continue; continue;
} }
@ -102,7 +105,7 @@ static int lam_ifinit(void)
#if defined(__APPLE__) #if defined(__APPLE__)
intf.if_index = lam_list_get_size(&lam_if_list)+1; intf.if_index = lam_list_get_size(&lam_if_list)+1;
#else #else
if(ioctl(sd, SIOCGIFINDEX, &ifr) < 0) { if(ioctl(sd, SIOCGIFINDEX, ifr) < 0) {
lam_output(0,"lam_ifinit: ioctl(SIOCGIFINDEX) failed with errno=%d", errno); lam_output(0,"lam_ifinit: ioctl(SIOCGIFINDEX) failed with errno=%d", errno);
continue; continue;
} }
@ -115,7 +118,7 @@ static int lam_ifinit(void)
#endif #endif
#endif /* __APPLE__ */ #endif /* __APPLE__ */
if(ioctl(sd, SIOCGIFADDR, &ifr) < 0) { if(ioctl(sd, SIOCGIFADDR, ifr) < 0) {
lam_output(0, "lam_ifinit: ioctl(SIOCGIFADDR) failed with errno=%d", errno); lam_output(0, "lam_ifinit: ioctl(SIOCGIFADDR) failed with errno=%d", errno);
break; break;
} }
@ -123,7 +126,7 @@ static int lam_ifinit(void)
continue; continue;
memcpy(&intf.if_addr, &ifr->ifr_addr, sizeof(intf.if_addr)); memcpy(&intf.if_addr, &ifr->ifr_addr, sizeof(intf.if_addr));
if(ioctl(sd, SIOCGIFNETMASK, &ifr) < 0) { if(ioctl(sd, SIOCGIFNETMASK, ifr) < 0) {
lam_output(0, "lam_ifinit: ioctl(SIOCGIFNETMASK) failed with errno=%d", errno); lam_output(0, "lam_ifinit: ioctl(SIOCGIFNETMASK) failed with errno=%d", errno);
continue; continue;
} }
@ -134,7 +137,7 @@ static int lam_ifinit(void)
lam_output(0, "lam_ifinit: unable to allocated %d bytes\n", sizeof(lam_if_t)); lam_output(0, "lam_ifinit: unable to allocated %d bytes\n", sizeof(lam_if_t));
return LAM_ERR_OUT_OF_RESOURCE; return LAM_ERR_OUT_OF_RESOURCE;
} }
memcpy(intf_ptr, &intf, sizeof(lam_if_t)); memcpy(intf_ptr, &intf, sizeof(intf));
lam_list_append(&lam_if_list, (lam_list_item_t*)intf_ptr); lam_list_append(&lam_if_list, (lam_list_item_t*)intf_ptr);
} }
close(sd); close(sd);