[libcamera-devel] [PATCH v2 26/32] libcamera: control_serializer: Use explicit ControlTypeNone case

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Mar 6 16:59:56 CET 2020


Replace the default case with an explicit ControlTypeNone case in
ControlSerializer::load() to catch omissions when adding new control
types.

A return statement needs to be added to the end of the function to avoid
gcc incorrectly reporting that some exit paths don't contain a return
statement. The compiler will still warn that not all cases are handled
when adding a new control type.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
- Add a return statement at the end of the function
---
 src/libcamera/control_serializer.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/libcamera/control_serializer.cpp b/src/libcamera/control_serializer.cpp
index 6c676811ebf3..edf3e5cab09f 100644
--- a/src/libcamera/control_serializer.cpp
+++ b/src/libcamera/control_serializer.cpp
@@ -361,9 +361,11 @@ ControlValue ControlSerializer::load<ControlValue>(ControlType type,
 		return ControlValue(value);
 	}
 
-	default:
+	case ControlTypeNone:
 		return ControlValue();
 	}
+
+	return ControlValue();
 }
 
 template<>
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list