ref: a42994a512f734fb65aed30953bf7e7f1ecb4338
parent: b604b398d1b55551732ab128d27640a0972ca124
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Wed Mar 6 09:11:21 EST 2013
aan: fix structure padding for amd64
--- a/sys/src/cmd/aan.c
+++ b/sys/src/cmd/aan.c
@@ -18,6 +18,7 @@
Timer = 0, // Alt channels.
Unsent = 1,
Maxto = 24 * 3600, // A full day to reconnect.
+ Hdrsz = 3*4,
};
typedef struct Endpoints Endpoints;
@@ -199,7 +200,7 @@
PBIT32(hdr.acked, inmsg);
PBIT32(hdr.msg, -1);
- if (writen(netfd, (uchar *)&hdr, sizeof(Hdr)) < 0) {+ if (writen(netfd, (uchar *)&hdr, Hdrsz) < 0) {dmessage(2, "main; writen failed; %r\n");
failed = 1;
continue;
@@ -216,7 +217,7 @@
PBIT32(b->hdr.acked, inmsg);
- if (writen(netfd, (uchar *)&b->hdr, sizeof(Hdr)) < 0) {+ if (writen(netfd, (uchar *)&b->hdr, Hdrsz) < 0) {dmessage(2, "main; writen failed; %r\n");
failed = 1;
}
@@ -283,7 +284,7 @@
}
// Read the header.
- len = readn(netfd, (uchar *)&b->hdr, sizeof(Hdr));
+ len = readn(netfd, (uchar *)&b->hdr, Hdrsz);
if (len <= 0) {if (len < 0)
dmessage(1, "fromnet; (hdr) network failure; %r\n");
@@ -413,7 +414,7 @@
tmp = chancreate(sizeof(Buf *), Nbuf);
while ((b = nbrecvp(unacked)) != nil) {n = GBIT32(b->hdr.nb);
- writen(netfd, (uchar *)&b->hdr, sizeof(Hdr));
+ writen(netfd, (uchar *)&b->hdr, Hdrsz);
writen(netfd, b->buf, n);
sendp(tmp, b);
}
--
⑨