[libcamera-devel,v4,2/5] libcamera: ipa_proxy: rearrange proxies precedence

Message ID 20200318152427.13126-3-kgupta@es.iitr.ac.in
State Accepted
Commit 1eaf7407c2a787daecfc92dc7698a4176784ff07
Headers show
Series
  • libcamera: determine IPA_PROXY_PATH at runtime
Related show

Commit Message

Kaaira Gupta March 18, 2020, 3:24 p.m. UTC
User environment path in LIBCAMERA_IPA_PROXY_PATH should take precedence
over system loading locations. Change precedence accordingly

Signed-off-by: Kaaira Gupta <kgupta@es.iitr.ac.in>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/libcamera/ipa_proxy.cpp | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

Patch

diff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp
index c7347c8..b409e1d 100644
--- a/src/libcamera/ipa_proxy.cpp
+++ b/src/libcamera/ipa_proxy.cpp
@@ -75,13 +75,9 @@  IPAProxy::~IPAProxy()
  */
 std::string IPAProxy::resolvePath(const std::string &file) const
 {
-	/* Try finding the exec target from the install directory first */
 	std::string proxyFile = "/" + file;
-	std::string proxyPath = std::string(IPA_PROXY_DIR) + proxyFile;
-	if (!access(proxyPath.c_str(), X_OK))
-		return proxyPath;
 
-	/* No exec target in install directory; check env variable. */
+	/* Check env variable first. */
 	const char *execPaths = utils::secure_getenv("LIBCAMERA_IPA_PROXY_PATH");
 	if (execPaths) {
 		for (const auto &dir : utils::split(execPaths, ":")) {
@@ -95,6 +91,11 @@  std::string IPAProxy::resolvePath(const std::string &file) const
 		}
 	}
 
+	/* Try finding the exec target from the install directory. */
+	std::string proxyPath = std::string(IPA_PROXY_DIR) + proxyFile;
+	if (!access(proxyPath.c_str(), X_OK))
+		return proxyPath;
+
 	return std::string();
 }