From fe5f39179f7c85a2924c288149b5ecc8488918b1 Mon Sep 17 00:00:00 2001
From: Christopher Peplin <chris.peplin@rhubarbtech.com>
Date: Thu, 2 Jan 2014 18:31:52 -0500
Subject: [PATCH] Attempt to print entire payload and fail.

---
 deps/bitfield-c   |  2 +-
 src/isotp/isotp.c | 20 +++++++++++---------
 tests/common.c    |  4 +---
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/deps/bitfield-c b/deps/bitfield-c
index 4af52c4..31caa9c 160000
--- a/deps/bitfield-c
+++ b/deps/bitfield-c
@@ -1 +1 @@
-Subproject commit 4af52c415f1668fbd168da74d0aca903c592463f
+Subproject commit 31caa9c77dbfc438a104fbcab6db5165528c0f89
diff --git a/src/isotp/isotp.c b/src/isotp/isotp.c
index 67c644f..6522f7a 100644
--- a/src/isotp/isotp.c
+++ b/src/isotp/isotp.c
@@ -21,15 +21,17 @@ IsoTpShims isotp_init_shims(LogShim log, SendCanMessageShim send_can_message,
 
 void isotp_message_to_string(const IsoTpMessage* message, char* destination,
         size_t destination_length) {
-    char payload_string[message->size * 2 + 1];
-    memset(payload_string, 0, sizeof(payload_string));
-    for(int i = 0; i < message->size; i++) {
-        // TODO, bah this isn't working because snprintf hits the NULL char that
-        // it wrote the last time and stops cold
-        /* snprintf(&payload_string[i * 2], 2, "%02x", message->payload[i]); */
-    }
-    snprintf(destination, destination_length, "ID: 0x%02x, Payload: 0x%s",
-            message->arbitration_id, payload_string);
+    // TODO why is this still not printing the entire payload?
+    snprintf(destination, destination_length, "ID: 0x%02x, Payload: 0x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
+            message->arbitration_id,
+            message->payload[0],
+            message->payload[1],
+            message->payload[2],
+            message->payload[3],
+            message->payload[4],
+            message->payload[5],
+            message->payload[6],
+            message->payload[7]);
 }
 
 IsoTpMessage isotp_receive_can_frame(IsoTpShims* shims, IsoTpHandle* handle,
diff --git a/tests/common.c b/tests/common.c
index 882c266..5995df7 100644
--- a/tests/common.c
+++ b/tests/common.c
@@ -76,9 +76,7 @@ void message_sent(const IsoTpMessage* message, const bool success) {
 
 void can_frame_sent(const uint16_t arbitration_id, const uint8_t* payload,
         const uint8_t size) {
-    debug("Sent CAN Frame:");
-    // TODO add something like this to canutil
-    /* log_can_message(arbitration_id, payload, size); */
+    debug("Sent CAN Frame with arb ID 0x%x and %d bytes", arbitration_id, size);
 }
 
 void setup() {
-- 
2.16.6