diff --git a/src/libmodbus/modbus.c b/src/libmodbus/modbus.c index 17e36e1..5f4e1d4 100644 --- a/src/libmodbus/modbus.c +++ b/src/libmodbus/modbus.c @@ -1393,7 +1393,7 @@ int modbus_write_bits(modbus_t *ctx, int addr, int nb, const uint8_t *src) } rc = send_msg(ctx, req, req_length); - if (rc > 0) { + if (rc > 0 && ctx->slave != 0) { uint8_t rsp[MAX_MESSAGE_LENGTH]; rc = _modbus_receive_msg(ctx, rsp, MSG_CONFIRMATION); @@ -1443,7 +1443,7 @@ int modbus_write_registers(modbus_t *ctx, int addr, int nb, const uint16_t *src) } rc = send_msg(ctx, req, req_length); - if (rc > 0) { + if (rc > 0 && ctx->slave != 0) { uint8_t rsp[MAX_MESSAGE_LENGTH]; rc = _modbus_receive_msg(ctx, rsp, MSG_CONFIRMATION);