Explorar o código

Fix swapped test in compute_header_length (1d4241dff)

Stéphane Raimbault %!s(int64=14) %!d(string=hai) anos
pai
achega
ef3e8740fc
Modificáronse 1 ficheiros con 3 adicións e 5 borrados
  1. 3 5
      src/modbus.c

+ 3 - 5
src/modbus.c

@@ -500,22 +500,20 @@ static uint8_t compute_header_length(int function, msg_type_t msg_type)
 {
     int length;
 
-    if (msg_type == MSG_INDICATION) {
+    if (msg_type == MSG_CONFIRMATION) {
         if (function == FC_REPORT_SLAVE_ID) {
-            length = 0;
+            length = 1;
         } else {
             /* Should never happen, the other header lengths are precomputed */
             abort();
         }
-    } else /* MSG_CONFIRMATION */ {
+    } else /* MSG_INDICATION */ {
         if (function <= FC_WRITE_SINGLE_COIL ||
             function == FC_WRITE_SINGLE_REGISTER) {
             length = 4;
         } else if (function == FC_WRITE_MULTIPLE_COILS ||
                    function == FC_WRITE_MULTIPLE_REGISTERS) {
             length = 5;
-        } else if (function == FC_REPORT_SLAVE_ID) {
-            length = 1;
         } else if (function == FC_READ_AND_WRITE_REGISTERS) {
             length = 9;
         } else {