Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH 1/2] android/client: Fix reversing send_response values
@ 2014-06-05 16:32 Marcin Kraglak
  2014-06-05 16:32 ` [PATCH 2/2] android/pts: Update GATT test result Marcin Kraglak
  2014-06-05 16:54 ` [PATCH 1/2] android/client: Fix reversing send_response values Marcel Holtmann
  0 siblings, 2 replies; 5+ messages in thread
From: Marcin Kraglak @ 2014-06-05 16:32 UTC (permalink / raw)
  To: linux-bluetooth

We don't want to reverse data passed to send_response.
---
 android/client/if-gatt.c | 32 +++++++++++++++++++++++++++-----
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/android/client/if-gatt.c b/android/client/if-gatt.c
index 0375126..a9c8644 100644
--- a/android/client/if-gatt.c
+++ b/android/client/if-gatt.c
@@ -1750,6 +1750,30 @@ static void gatts_send_indication_p(int argc, const char *argv[])
 							len, confirm, data);
 }
 
+/*
+ * convert hex string to uint8_t array
+ */
+static int fill_buffer(const char *str, uint8_t *out, int out_size)
+{
+	int len = strlen(str);
+	int length = 0;
+	int i;
+
+	memset(out, 0, out_size);
+	if (out_size * 2 > len + 1)
+		out_size = (len + 1) / 2;
+
+	for (i = 0; i < out_size && len > length; ++i) {
+		if (len >= length)
+			sscanf(str + length, "%02hhx", &out[i]);
+		else
+			sscanf(str, "%1hhx", &out[i]);
+		length += 2;
+	}
+
+	return len/2;
+}
+
 /* send_response */
 
 static void gatts_send_response_p(int argc, const char *argv[])
@@ -1772,15 +1796,13 @@ static void gatts_send_response_p(int argc, const char *argv[])
 	data.attr_value.auth_req = 0;
 	data.attr_value.len = 0;
 
-	if (argc > 7) {
-		data.attr_value.len = strlen(argv[7]);
-		scan_field(argv[7], data.attr_value.len, data.attr_value.value,
+	if (argc > 7)
+		data.attr_value.len = fill_buffer(argv[7],
+						data.attr_value.value,
 						sizeof(data.attr_value.value));
-	}
 
 	haltest_info("conn_id %d, trans_id %d, status %d", conn_id, trans_id,
 									status);
-
 	EXEC(if_gatt->server->send_response, conn_id, trans_id, status, &data);
 }
 
-- 
1.9.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-06-06  4:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-05 16:32 [PATCH 1/2] android/client: Fix reversing send_response values Marcin Kraglak
2014-06-05 16:32 ` [PATCH 2/2] android/pts: Update GATT test result Marcin Kraglak
2014-06-05 16:49   ` Marcel Holtmann
2014-06-05 16:54 ` [PATCH 1/2] android/client: Fix reversing send_response values Marcel Holtmann
2014-06-06  4:14   ` Szymon Janc

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox