[cecd-devel] [PATCH 3/6] [libcec] compute src and dst once and for all
Status: Beta
Brought to you by:
pbatard
|
From: Florian F. <f.f...@gm...> - 2011-12-30 14:11:45
|
Once we made sure the message length is valid, compute src and dst address
once and do not do that twice.
---
libcec/decoder.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/libcec/decoder.c b/libcec/decoder.c
index 8fd7655..37764c2 100644
--- a/libcec/decoder.c
+++ b/libcec/decoder.c
@@ -196,9 +196,12 @@ int libcec_decode_message(uint8_t* message, size_t length)
return LIBCEC_ERROR_INVALID_PARAM;
}
+ src = message[0] >> 4;
+ dst = message[0] & 0x0F;
+
// Polling Message
if (length == 1) {
- ceci_info(" o %1X->%1X: <Polling Message>", src = message[0] >> 4, dst = message[0] & 0x0F);
+ ceci_info(" o %1X->%1X: <Polling Message>", src, dst);
return LIBCEC_SUCCESS;
}
@@ -206,12 +209,13 @@ int libcec_decode_message(uint8_t* message, size_t length)
ceci_warn("unsupported Opcode: %02X", message[1]);
return LIBCEC_ERROR_NOT_SUPPORTED;
}
+
if ( (length-2 < msg_min_max[msg_props[message[1]]&0x1F][0])
|| (length-2 > msg_min_max[msg_props[message[1]]&0x1F][1]) ) {
ceci_warn("invalid payload length for opcode: %02X", message[1]);
return LIBCEC_ERROR_INVALID_PARAM;
}
- ceci_info(" o %1X->%1X: <%s>", src = message[0] >> 4, dst = message[0] & 0x0F,
+ ceci_info(" o %1X->%1X: <%s>", src, dst,
msg_description[msg_index[message[1]]]);
display_buffer_hex(message+1, length-1);
--
1.7.5.4
|