- msghdr = (struct if_msghdr *) buf;
- memcpy(if_hw_addr, LLADDR((struct sockaddr_dl *)(buf + sizeof(struct if_msghdr) - sizeof(struct if_data) + sizeof(struct if_data))), 6);
- free(buf);
- got_hw_addr = 1;
-
- ENDHWADDR:
- 1; /* compiler whines if there is a label at the end of a block...*/
+ else {
+ msghdr = (struct if_msghdr *) buf;
+ memcpy(if_hw_addr, LLADDR((struct sockaddr_dl *)(buf + sizeof(struct if_msghdr) - sizeof(struct if_data) + sizeof(struct if_data))), 6);
+ free(buf);
+ got_hw_addr = 1;
+ }