From f995ff25a3326db90513d1fa936815653f7cade0 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Mon, 11 Jul 2022 01:09:09 +0300 Subject: libcamera: controls: Avoid double lookups Now that the ControlList::get() function returns an instance of std::optional<>, we can replace the ControlList::contains() calls with a nullopt check on the return value of get(). This avoids double lookups of controls through the code base. Signed-off-by: Laurent Pinchart Reviewed-by: Jacopo Mondi Reviewed-by: Umang Jain --- src/cam/main.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/cam/main.cpp') diff --git a/src/cam/main.cpp b/src/cam/main.cpp index d8115cd8..53c2ffde 100644 --- a/src/cam/main.cpp +++ b/src/cam/main.cpp @@ -300,8 +300,9 @@ std::string CamApp::cameraName(const Camera *camera) * Construct the name from the camera location, model and ID. The model * is only used if the location isn't present or is set to External. */ - if (props.contains(properties::Location)) { - switch (*props.get(properties::Location)) { + const auto &location = props.get(properties::Location); + if (location) { + switch (*location) { case properties::CameraLocationFront: addModel = false; name = "Internal front camera "; @@ -316,12 +317,14 @@ std::string CamApp::cameraName(const Camera *camera) } } - if (addModel && props.contains(properties::Model)) { + if (addModel) { /* * If the camera location is not availble use the camera model * to build the camera name. */ - name = "'" + *props.get(properties::Model) + "' "; + const auto &model = props.get(properties::Model); + if (model) + name = "'" + *model + "' "; } name += "(" + camera->id() + ")"; -- cgit v1.2.1