summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/isotp/isotp.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/isotp/isotp.c b/src/isotp/isotp.c
index 67c644f1..6522f7aa 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,