summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Undheim <ruben.undheim@gmail.com>2018-11-14 22:22:26 +0100
committerRuben Undheim <ruben.undheim@gmail.com>2018-11-14 23:38:45 +0100
commiteea0534e5aa24d5c624b54bc9ca608ece1d43e7e (patch)
treef168a4884afcb7131e89625205e7a8a226dc39bc
parent559a63a0030fbd60133fbf019d1f5889ce20edbe (diff)
Fix some byte ordering for big-endian architectures
Gbp-Pq: Name 0006-Fix-some-byte-ordering-for-big-endian-architectures.patch
-rw-r--r--src/gsm/gsm0808_utils.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c
index 73f0234..48abe2c 100644
--- a/src/gsm/gsm0808_utils.c
+++ b/src/gsm/gsm0808_utils.c
@@ -120,7 +120,7 @@ int gsm0808_dec_aoip_trasp_addr(struct sockaddr_storage *ss,
memcpy(&sin.sin_addr.s_addr, elem, IP_V4_ADDR_LEN);
elem += IP_V4_ADDR_LEN;
- sin.sin_port = osmo_load16le(elem);
+ sin.sin_port = osmo_swab16(osmo_ntohs(osmo_load16le(elem)));
elem += IP_PORT_LEN;
memcpy(ss, &sin, sizeof(sin));
@@ -131,7 +131,7 @@ int gsm0808_dec_aoip_trasp_addr(struct sockaddr_storage *ss,
memcpy(sin6.sin6_addr.s6_addr, elem, IP_V6_ADDR_LEN);
elem += IP_V6_ADDR_LEN;
- sin6.sin6_port = osmo_load16le(elem);
+ sin6.sin6_port = osmo_swab16(osmo_ntohs(osmo_load16le(elem)));
elem += IP_PORT_LEN;
memcpy(ss, &sin6, sizeof(sin6));
@@ -210,7 +210,7 @@ static uint8_t enc_speech_codec(struct msgb *msg,
case GSM0808_SCT_FR3:
case GSM0808_SCT_HR3:
case GSM0808_SCT_HR6:
- msgb_put_u16(msg, osmo_ntohs(sc->cfg));
+ msgb_put_u16(msg, osmo_swab16(sc->cfg));
break;
case GSM0808_SCT_FR4:
case GSM0808_SCT_FR5: