[libcamera-devel,v4,1/5] libcamera: ipa_proxy: use utils::split()

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

Commit Message

Kaaira Gupta March 18, 2020, 3:24 p.m. UTC
Replace the manual string splitting with utils::split()

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

Patch

diff --git a/src/libcamera/ipa_proxy.cpp b/src/libcamera/ipa_proxy.cpp
index 5a3d2f1..c7347c8 100644
--- a/src/libcamera/ipa_proxy.cpp
+++ b/src/libcamera/ipa_proxy.cpp
@@ -83,21 +83,16 @@  std::string IPAProxy::resolvePath(const std::string &file) const
 
 	/* No exec target in install directory; check env variable. */
 	const char *execPaths = utils::secure_getenv("LIBCAMERA_IPA_PROXY_PATH");
-	while (execPaths) {
-		const char *delim = strchrnul(execPaths, ':');
-		size_t count = delim - execPaths;
+	if (execPaths) {
+		for (const auto &dir : utils::split(execPaths, ":")) {
+			if (dir.empty())
+				continue;
 
-		if (count) {
-			std::string proxyPath(execPaths, count);
+			std::string proxyPath = dir;
 			proxyPath += proxyFile;
 			if (!access(proxyPath.c_str(), X_OK))
 				return proxyPath;
 		}
-
-		if (*delim == '\0')
-			break;
-
-		execPaths += count + 1;
 	}
 
 	return std::string();