From ef3e8740fc5303205cca8a445f5936ac19ab7589 Mon Sep 17 00:00:00 2001 From: Stéphane Raimbault Date: Fri, 13 Aug 2010 13:02:48 +0200 Subject: [PATCH] Fix swapped test in compute_header_length (1d4241dff) --- src/modbus.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/modbus.c b/src/modbus.c index c52216f..553d889 100644 --- a/src/modbus.c +++ b/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 { -- libgit2 0.21.4