Don't log incorrect negative response mode, just cap it at 0.
authorChristopher Peplin <chris.peplin@rhubarbtech.com>
Wed, 8 Jan 2014 22:27:54 +0000 (17:27 -0500)
committerChristopher Peplin <chris.peplin@rhubarbtech.com>
Wed, 8 Jan 2014 22:29:34 +0000 (17:29 -0500)
src/obd2/obd2.c

index c000aa3..25b00e7 100644 (file)
@@ -205,8 +205,9 @@ DiagnosticResponse diagnostic_receive_can_frame(DiagnosticShims* shims,
                     handle->completed = true;
                 } else {
                     shims->log("Response was for a mode 0x%x request (pid 0x%x), not our mode 0x%x request (pid 0x%x)",
-                            response.mode - MODE_RESPONSE_OFFSET, response.pid,
-                            handle->request.mode, handle->request.pid);
+                            MAX(0, response.mode - MODE_RESPONSE_OFFSET),
+                            response.pid, handle->request.mode,
+                            handle->request.pid);
                     setup_receive_handle(handle);
                 }
             } else {