+Mon Feb 19 09:38:24 EST 2007 Daniel P. Berrange <berrange@redhat.com>
+
+ * qemud/bridge.c, qemud/conf.c: Fixed int -> char casts to deal
+ with endianness / alignment issues on IA64 platforms. Patch
+ from Atsushi SAKAI <sakaia@jp.fujitsu.com>
+
Fri Feb 16 18:28:32 IST 2007 Mark McLoughlin <markmc@redhat.com>
* qemud/qemud.c, qemud/dispatch.c, qemud/internal.h
else if (ret == 0)
return EINVAL;
- ((struct sockaddr_in *)&ifr.ifr_addr)->sin_family = AF_INET;
- ((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr = inaddr;
+ ((struct sockaddr_in *)((void *)&ifr.ifr_addr))->sin_family = AF_INET;
+ ((struct sockaddr_in *)((void *)&ifr.ifr_addr))->sin_addr = inaddr;
if (ioctl(ctl->fd, cmd, &ifr) < 0)
return errno;
if (maxlen < BR_INET_ADDR_MAXLEN || ifr.ifr_addr.sa_family != AF_INET)
return EFAULT;
- inaddr = &((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr;
+ inaddr = &((struct sockaddr_in *)((void *)&ifr.ifr_addr))->sin_addr;
if (!inet_ntop(AF_INET, inaddr, addr, maxlen))
return errno;
net->vlan = 0;
if (macaddr) {
+ unsigned int mac[6];
sscanf((const char *)macaddr, "%02x:%02x:%02x:%02x:%02x:%02x",
- (unsigned int*)&net->mac[0],
- (unsigned int*)&net->mac[1],
- (unsigned int*)&net->mac[2],
- (unsigned int*)&net->mac[3],
- (unsigned int*)&net->mac[4],
- (unsigned int*)&net->mac[5]);
+ (unsigned int*)&mac[0],
+ (unsigned int*)&mac[1],
+ (unsigned int*)&mac[2],
+ (unsigned int*)&mac[3],
+ (unsigned int*)&mac[4],
+ (unsigned int*)&mac[5]);
+ net->mac[0] = mac[0];
+ net->mac[1] = mac[1];
+ net->mac[2] = mac[2];
+ net->mac[3] = mac[3];
+ net->mac[4] = mac[4];
+ net->mac[5] = mac[5];
xmlFree(macaddr);
}