diff --git a/src/core/def.c b/src/core/def.c index 305fe0f2..35f142c7 100644 --- a/src/core/def.c +++ b/src/core/def.c @@ -218,7 +218,7 @@ lwip_itoa(char* result, size_t bufsize, int number) it will get */ tmp = &result[bufsize-2]; while ((n != 0) && (result_len < (bufsize - 1))) { - char val = '0' + (n % 10); + char val = (char)('0' + (n % 10)); *tmp = val; tmp--; n = n / 10; diff --git a/src/core/inet_chksum.c b/src/core/inet_chksum.c index 917f3e4f..646074c6 100644 --- a/src/core/inet_chksum.c +++ b/src/core/inet_chksum.c @@ -260,7 +260,7 @@ static u16_t inet_cksum_pseudo_base(struct pbuf *p, u8_t proto, u16_t proto_len, u32_t acc) { struct pbuf *q; - u8_t swapped = 0; + int swapped = 0; /* iterate through all pbuf in chain */ for (q = p; q != NULL; q = q->next) { @@ -272,7 +272,7 @@ inet_cksum_pseudo_base(struct pbuf *p, u8_t proto, u16_t proto_len, u32_t acc) to check whether we really need to execute it, and does no harm */ acc = FOLD_U32T(acc); if (q->len % 2 != 0) { - swapped = 1 - swapped; + swapped = !swapped; acc = SWAP_BYTES_IN_WORD(acc); } /*LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): wrapped lwip_chksum()=%"X32_F" \n", acc));*/ @@ -400,7 +400,7 @@ inet_cksum_pseudo_partial_base(struct pbuf *p, u8_t proto, u16_t proto_len, u16_t chksum_len, u32_t acc) { struct pbuf *q; - u8_t swapped = 0; + int swapped = 0; u16_t chklen; /* iterate through all pbuf in chain */ @@ -412,13 +412,13 @@ inet_cksum_pseudo_partial_base(struct pbuf *p, u8_t proto, u16_t proto_len, chklen = chksum_len; } acc += LWIP_CHKSUM(q->payload, chklen); - chksum_len -= chklen; + chksum_len = (u16_t)(chksum_len - chklen); LWIP_ASSERT("delete me", chksum_len < 0x7fff); /*LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): unwrapped lwip_chksum()=%"X32_F" \n", acc));*/ /* fold the upper bit down */ acc = FOLD_U32T(acc); if (q->len % 2 != 0) { - swapped = 1 - swapped; + swapped = !swapped; acc = SWAP_BYTES_IN_WORD(acc); } /*LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): wrapped lwip_chksum()=%"X32_F" \n", acc));*/ @@ -569,15 +569,14 @@ inet_chksum_pbuf(struct pbuf *p) { u32_t acc; struct pbuf *q; - u8_t swapped; + int swapped = 0; acc = 0; - swapped = 0; for (q = p; q != NULL; q = q->next) { acc += LWIP_CHKSUM(q->payload, q->len); acc = FOLD_U32T(acc); if (q->len % 2 != 0) { - swapped = 1 - swapped; + swapped = !swapped; acc = SWAP_BYTES_IN_WORD(acc); } }