summaryrefslogtreecommitdiffstats
path: root/src/uds/uds.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/uds/uds.c')
-rw-r--r--src/uds/uds.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/uds/uds.c b/src/uds/uds.c
index 5a45c0c6..88d56bc5 100644
--- a/src/uds/uds.c
+++ b/src/uds/uds.c
@@ -342,10 +342,17 @@ void diagnostic_response_to_string(const DiagnosticResponse* response,
void diagnostic_request_to_string(const DiagnosticRequest* request,
char* destination, size_t destination_length) {
int bytes_used = snprintf(destination, destination_length,
- "arb_id: 0x%02x, mode: 0x%x, pid: 0x%x, ",
+ "arb_id: 0x%02x, mode: 0x%x, ",
request->arbitration_id,
- request->mode,
- request->pid);
+ request->mode);
+
+ if(request->has_pid) {
+ bytes_used += snprintf(destination + bytes_used,
+ destination_length - bytes_used,
+ "pid: 0x%x, ",
+ request->pid);
+ }
+
int remaining_space = destination_length - bytes_used;
if(request->payload_length > 0) {
snprintf(destination + bytes_used, remaining_space,