Changed to use LINKADDR_SIZE instead of sizeof() to select between
short address and long address as some platforms might use padding in the struct. This fixes #555.
This commit is contained in:
parent
dbb8f3ec13
commit
b1335b08a8
|
@ -128,7 +128,7 @@ create(void)
|
||||||
\todo For phase 1 the addresses are all long. We'll need a mechanism
|
\todo For phase 1 the addresses are all long. We'll need a mechanism
|
||||||
in the rime attributes to tell the mac to use long or short for phase 2.
|
in the rime attributes to tell the mac to use long or short for phase 2.
|
||||||
*/
|
*/
|
||||||
if(sizeof(linkaddr_t) == 2) {
|
if(LINKADDR_SIZE == 2) {
|
||||||
/* Use short address mode if linkaddr size is short. */
|
/* Use short address mode if linkaddr size is short. */
|
||||||
params.fcf.src_addr_mode = FRAME802154_SHORTADDRMODE;
|
params.fcf.src_addr_mode = FRAME802154_SHORTADDRMODE;
|
||||||
} else {
|
} else {
|
||||||
|
@ -150,7 +150,7 @@ create(void)
|
||||||
linkaddr_copy((linkaddr_t *)¶ms.dest_addr,
|
linkaddr_copy((linkaddr_t *)¶ms.dest_addr,
|
||||||
packetbuf_addr(PACKETBUF_ADDR_RECEIVER));
|
packetbuf_addr(PACKETBUF_ADDR_RECEIVER));
|
||||||
/* Use short address mode if linkaddr size is small */
|
/* Use short address mode if linkaddr size is small */
|
||||||
if(sizeof(linkaddr_t) == 2) {
|
if(LINKADDR_SIZE == 2) {
|
||||||
params.fcf.dest_addr_mode = FRAME802154_SHORTADDRMODE;
|
params.fcf.dest_addr_mode = FRAME802154_SHORTADDRMODE;
|
||||||
} else {
|
} else {
|
||||||
params.fcf.dest_addr_mode = FRAME802154_LONGADDRMODE;
|
params.fcf.dest_addr_mode = FRAME802154_LONGADDRMODE;
|
||||||
|
|
|
@ -434,7 +434,7 @@ void packetbuf_attr_copyfrom(struct packetbuf_attr *attrs,
|
||||||
|
|
||||||
#define PACKETBUF_ATTR_BIT 1
|
#define PACKETBUF_ATTR_BIT 1
|
||||||
#define PACKETBUF_ATTR_BYTE 8
|
#define PACKETBUF_ATTR_BYTE 8
|
||||||
#define PACKETBUF_ADDRSIZE (sizeof(linkaddr_t) * PACKETBUF_ATTR_BYTE)
|
#define PACKETBUF_ADDRSIZE (LINKADDR_SIZE * PACKETBUF_ATTR_BYTE)
|
||||||
|
|
||||||
struct packetbuf_attrlist {
|
struct packetbuf_attrlist {
|
||||||
uint8_t type;
|
uint8_t type;
|
||||||
|
|
Loading…
Reference in a new issue