[libcamera-devel,v2,08/32] libcamera: controls: Don't convert 32-bit and 64-bit implicitly

Message ID 20200306160002.30549-9-laurent.pinchart@ideasonboard.com
State Accepted
Headers show
Series
  • libcamera: Add support for array controls
Related show

Commit Message

Laurent Pinchart March 6, 2020, 3:59 p.m. UTC
The ControlValue::get<T>() method verifies that the T type corresponds
to the ControlValue type. It however accepts int32_t as a return type
for 64-bit integer controls, and int64_t as a return type for 32-bit
integer controls. There's no reason to do so anymore, make the type
check stricter.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/libcamera/controls.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Patch

diff --git a/src/libcamera/controls.cpp b/src/libcamera/controls.cpp
index 613e6d768c0f..f632d60adc8b 100644
--- a/src/libcamera/controls.cpp
+++ b/src/libcamera/controls.cpp
@@ -187,7 +187,7 @@  const bool &ControlValue::get<bool>() const
 template<>
 const int32_t &ControlValue::get<int32_t>() const
 {
-	ASSERT(type_ == ControlTypeInteger32 || type_ == ControlTypeInteger64);
+	ASSERT(type_ == ControlTypeInteger32);
 
 	return integer32_;
 }
@@ -195,7 +195,7 @@  const int32_t &ControlValue::get<int32_t>() const
 template<>
 const int64_t &ControlValue::get<int64_t>() const
 {
-	ASSERT(type_ == ControlTypeInteger32 || type_ == ControlTypeInteger64);
+	ASSERT(type_ == ControlTypeInteger64);
 
 	return integer64_;
 }