avoid gcc optimization bug by extracting struct values
This commit is contained in:
parent
b22ced2ef0
commit
076c208b72
1 changed files with 5 additions and 2 deletions
|
@ -420,7 +420,8 @@ send_packet(void)
|
||||||
uint8_t strobe[MAX_STROBE_SIZE];
|
uint8_t strobe[MAX_STROBE_SIZE];
|
||||||
int strobe_len, len;
|
int strobe_len, len;
|
||||||
int is_broadcast = 0;
|
int is_broadcast = 0;
|
||||||
/*int is_reliable;*/
|
int is_dispatch, is_strobe_ack;
|
||||||
|
/*int is_reliable;*/
|
||||||
struct encounter *e;
|
struct encounter *e;
|
||||||
struct queuebuf *packet;
|
struct queuebuf *packet;
|
||||||
int is_already_streaming = 0;
|
int is_already_streaming = 0;
|
||||||
|
@ -566,7 +567,9 @@ send_packet(void)
|
||||||
packetbuf_set_datalen(len);
|
packetbuf_set_datalen(len);
|
||||||
if(NETSTACK_FRAMER.parse() >= 0) {
|
if(NETSTACK_FRAMER.parse() >= 0) {
|
||||||
hdr = packetbuf_dataptr();
|
hdr = packetbuf_dataptr();
|
||||||
if(hdr->dispatch == DISPATCH && hdr->type == TYPE_STROBE_ACK) {
|
is_dispatch = hdr->dispatch == DISPATCH;
|
||||||
|
is_strobe_ack = hdr->type == TYPE_STROBE_ACK;
|
||||||
|
if(is_dispatch && is_strobe_ack) {
|
||||||
if(rimeaddr_cmp(packetbuf_addr(PACKETBUF_ADDR_RECEIVER),
|
if(rimeaddr_cmp(packetbuf_addr(PACKETBUF_ADDR_RECEIVER),
|
||||||
&rimeaddr_node_addr)) {
|
&rimeaddr_node_addr)) {
|
||||||
/* We got an ACK from the receiver, so we can immediately send
|
/* We got an ACK from the receiver, so we can immediately send
|
||||||
|
|
Loading…
Add table
Reference in a new issue