Only include PID in log output if request has one.
authorChristopher Peplin <chris.peplin@rhubarbtech.com>
Sat, 15 Feb 2014 03:43:05 +0000 (22:43 -0500)
committerChristopher Peplin <chris.peplin@rhubarbtech.com>
Sat, 15 Feb 2014 03:43:05 +0000 (22:43 -0500)
src/uds/uds.c

index 5a45c0c..88d56bc 100644 (file)
@@ -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,