packages/net/iotivity/patches/011-cdsk-fix-big-endian-problem.patch
Hauke Mehrtens 2627b0ea50 iotivity: add IoTivity
IoTivity is a Internet of Things framework implementing the Open
Interconnect Consortium Specification.

The current version of IoTivity is still in heavy development and does
not support all its intended features, but I still want to add it to
the packages feed to make it easier for others to extend the OpenWrt
support.

Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
2015-07-01 22:58:06 +02:00

35 lines
1.5 KiB
Diff

From 7189bc088f558945972d82a9a3427001cb20000a Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
Date: Mon, 8 Jun 2015 22:03:19 +0200
Subject: [PATCH] cdsk: fix big endian problem
Without this patch the client will endianes swap the port number when
sending the detailed request after it got the answer for his multicast
get. Use the same method for storing the port number in the address
array in ever part of the code and do not use memcpy and manual
bytewise coping mixed over the code. memcpy was used once and byte wise
copy was used twice so I choose the majority.
This was tested on MIPS BE 32 Bit.
Change-Id: Ib486171987004d10209d2bbf6b1d9ada75235651
Signed-off-by: Hauke Mehrtens <hauke.mehrtens@lantiq.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/1220
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Doug Hudson <douglas.hudson@intel.com>
Reviewed-by: Erich Keane <erich.keane@intel.com>
---
resource/csdk/stack/src/ocstack.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/resource/csdk/stack/src/ocstack.c
+++ b/resource/csdk/stack/src/ocstack.c
@@ -723,7 +723,8 @@ OCStackResult UpdateResponseAddr(OCDevAd
address->addr[i] = atoi(tok);
}
- memcpy(&address->addr[4], &endPoint->addressInfo.IP.port, sizeof(uint16_t));
+ address->addr[4] = (uint8_t)endPoint->addressInfo.IP.port;
+ address->addr[5] = (uint8_t)(endPoint->addressInfo.IP.port >> 8);
ret = OC_STACK_OK;
exit: