From b582e64b09daaa2c38dfb65396f7a6fcb9a952f9 Mon Sep 17 00:00:00 2001 From: Martin Elshuber Date: Tue, 8 Nov 2016 13:04:12 +0100 Subject: [PATCH] gnrc_sixlowpan_iphc.c: Updated comments some logic --- .../sixlowpan/iphc/gnrc_sixlowpan_iphc.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/net/gnrc/network_layer/sixlowpan/iphc/gnrc_sixlowpan_iphc.c b/sys/net/gnrc/network_layer/sixlowpan/iphc/gnrc_sixlowpan_iphc.c index 4d52599af..21dcd525b 100644 --- a/sys/net/gnrc/network_layer/sixlowpan/iphc/gnrc_sixlowpan_iphc.c +++ b/sys/net/gnrc/network_layer/sixlowpan/iphc/gnrc_sixlowpan_iphc.c @@ -612,16 +612,20 @@ bool gnrc_sixlowpan_iphc_encode(gnrc_pktsnip_t *pkt) /* check for available contexts */ if (!ipv6_addr_is_unspecified(&(ipv6_hdr->src))) { src_ctx = gnrc_sixlowpan_ctx_lookup_addr(&(ipv6_hdr->src)); - /* do not use for compression if GNRC_SIXLOWPAN_CTX_FLAGS_CID_MASK is not set */ - if (!(src_ctx->flags_id & GNRC_SIXLOWPAN_CTX_FLAGS_COMP)) + /* do not use source context for compression if */ + /* GNRC_SIXLOWPAN_CTX_FLAGS_COMP is not set */ + if (src_ctx && !(src_ctx->flags_id & GNRC_SIXLOWPAN_CTX_FLAGS_COMP)) { src_ctx = NULL; + } } if (!ipv6_addr_is_multicast(&ipv6_hdr->dst)) { dst_ctx = gnrc_sixlowpan_ctx_lookup_addr(&(ipv6_hdr->dst)); - /* do not use for compression if GNRC_SIXLOWPAN_CTX_FLAGS_CID_MASK is not set */ - if (!(dst_ctx->flags_id & GNRC_SIXLOWPAN_CTX_FLAGS_COMP)) + /* do not use destination context for compression if */ + /* GNRC_SIXLOWPAN_CTX_FLAGS_COMP is not set */ + if (dst_ctx && !(dst_ctx->flags_id & GNRC_SIXLOWPAN_CTX_FLAGS_COMP)) { dst_ctx = NULL; + } } /* if contexts available and both != 0 */