summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libcamera/internal/utils.h2
-rw-r--r--src/libcamera/utils.cpp17
2 files changed, 19 insertions, 0 deletions
diff --git a/include/libcamera/internal/utils.h b/include/libcamera/internal/utils.h
index a1b644b0..ebb2c403 100644
--- a/include/libcamera/internal/utils.h
+++ b/include/libcamera/internal/utils.h
@@ -190,6 +190,8 @@ private:
details::StringSplitter split(const std::string &str, const std::string &delim);
+std::string toAscii(const std::string &str);
+
std::string libcameraBuildPath();
std::string libcameraSourcePath();
diff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp
index a5232902..da85c9c2 100644
--- a/src/libcamera/utils.cpp
+++ b/src/libcamera/utils.cpp
@@ -335,6 +335,23 @@ details::StringSplitter split(const std::string &str, const std::string &delim)
}
/**
+ * \brief Remove any non-ASCII characters from a string
+ * \param[in] str The string to strip
+ *
+ * Remove all non-ASCII characters from a string.
+ *
+ * \return A string equal to \a str stripped out of all non-ASCII characters
+ */
+std::string toAscii(const std::string &str)
+{
+ std::string ret;
+ for (const char &c : str)
+ if (!(c & 0x80))
+ ret += c;
+ return ret;
+}
+
+/**
* \brief Check if libcamera is installed or not
*
* Utilise the build_rpath dynamic tag which is stripped out by meson at