[{"id":12805,"web_url":"https://patchwork.libcamera.org/comment/12805/","msgid":"<20200928113234.37dooh33mhgctoze@uno.localdomain>","date":"2020-09-28T11:32:34","subject":"Re: [libcamera-devel] [PATCH v5 2/7] libcamera: utils: Add method\n\tto remove non-ASCII characters","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Niklas,\n\nOn Fri, Sep 25, 2020 at 05:07:38PM +0200, Niklas Söderlund wrote:\n> Add method that removes non-ASCII characters from a string.\n>\n> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> ---\n> * Changes since v4\n> - Update documentation.\n>\n> * Changes since v3\n> - Fix spelling in comment.\n> - Rename to toAscii()\n> ---\n>  include/libcamera/internal/utils.h |  2 ++\n>  src/libcamera/utils.cpp            | 17 +++++++++++++++++\n>  2 files changed, 19 insertions(+)\n>\n> diff --git a/include/libcamera/internal/utils.h b/include/libcamera/internal/utils.h\n> index a1b644b0345bdb48..ebb2c4038e196f05 100644\n> --- a/include/libcamera/internal/utils.h\n> +++ b/include/libcamera/internal/utils.h\n> @@ -190,6 +190,8 @@ private:\n>\n>  details::StringSplitter split(const std::string &str, const std::string &delim);\n>\n> +std::string toAscii(const std::string &str);\n> +\n>  std::string libcameraBuildPath();\n>  std::string libcameraSourcePath();\n>\n> diff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp\n> index a5232902191eec85..551658323700f00f 100644\n> --- a/src/libcamera/utils.cpp\n> +++ b/src/libcamera/utils.cpp\n> @@ -334,6 +334,23 @@ details::StringSplitter split(const std::string &str, const std::string &delim)\n>  \treturn details::StringSplitter(str, delim);\n>  }\n>\n> +/**\n> + * \\brief Remove any non-ASCII charachters from a string\n\ns/charachters/characters\n\n> + * \\param[in] str The string to strip\n> + *\n> + * Remove all non-ASCII characters form a string.\n\ns/form/from\n\n> + *\n> + * \\return An ASCII string\n\n\\return A string equal to \\a str stripped out of all non-ASCII characters\n\n?\n\nnits apart\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n\n> + */\n> +std::string toAscii(const std::string &str)\n> +{\n> +\tstd::string ret;\n> +\tfor (const char &c : str)\n> +\t\tif (!(c & 0x80))\n> +\t\t\tret += c;\n> +\treturn ret;\n> +}\n> +\n>  /**\n>   * \\brief Check if libcamera is installed or not\n>   *\n> --\n> 2.28.0\n>\n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id DD00BC3B5B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 28 Sep 2020 11:28:39 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5A0AB60BD7;\n\tMon, 28 Sep 2020 13:28:39 +0200 (CEST)","from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net\n\t[217.70.183.195])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DB30360364\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Sep 2020 13:28:38 +0200 (CEST)","from uno.localdomain (93-34-118-233.ip49.fastwebnet.it\n\t[93.34.118.233]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 44D6360010;\n\tMon, 28 Sep 2020 11:28:38 +0000 (UTC)"],"X-Originating-IP":"93.34.118.233","Date":"Mon, 28 Sep 2020 13:32:34 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Niklas =?utf-8?q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","Message-ID":"<20200928113234.37dooh33mhgctoze@uno.localdomain>","References":"<20200925150743.1822226-1-niklas.soderlund@ragnatech.se>\n\t<20200925150743.1822226-3-niklas.soderlund@ragnatech.se>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20200925150743.1822226-3-niklas.soderlund@ragnatech.se>","Subject":"Re: [libcamera-devel] [PATCH v5 2/7] libcamera: utils: Add method\n\tto remove non-ASCII characters","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":12809,"web_url":"https://patchwork.libcamera.org/comment/12809/","msgid":"<b7cadc13-52d2-7e8a-0640-d8b3b6ae299c@uajain.com>","date":"2020-09-28T12:43:34","subject":"Re: [libcamera-devel] [PATCH v5 2/7] libcamera: utils: Add method\n\tto remove non-ASCII characters","submitter":{"id":1,"url":"https://patchwork.libcamera.org/api/people/1/","name":"Umang Jain","email":"email@uajain.com"},"content":"Hi Niklas,\n\nThanks for this work.\n\nApart from nits  already pointed out:\nReviewed-by: Umang Jain <email@uajain.com>\n\nThis patch will also help me sanitize EXIF_FORMAT_ASCII strings in the \nandroid layer.\n\nOn 9/25/20 8:37 PM, Niklas Söderlund wrote:\n> Add method that removes non-ASCII characters from a string.\n>\n> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> ---\n> * Changes since v4\n> - Update documentation.\n>\n> * Changes since v3\n> - Fix spelling in comment.\n> - Rename to toAscii()\n> ---\n>   include/libcamera/internal/utils.h |  2 ++\n>   src/libcamera/utils.cpp            | 17 +++++++++++++++++\n>   2 files changed, 19 insertions(+)\n>\n> diff --git a/include/libcamera/internal/utils.h b/include/libcamera/internal/utils.h\n> index a1b644b0345bdb48..ebb2c4038e196f05 100644\n> --- a/include/libcamera/internal/utils.h\n> +++ b/include/libcamera/internal/utils.h\n> @@ -190,6 +190,8 @@ private:\n>   \n>   details::StringSplitter split(const std::string &str, const std::string &delim);\n>   \n> +std::string toAscii(const std::string &str);\n> +\n>   std::string libcameraBuildPath();\n>   std::string libcameraSourcePath();\n>   \n> diff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp\n> index a5232902191eec85..551658323700f00f 100644\n> --- a/src/libcamera/utils.cpp\n> +++ b/src/libcamera/utils.cpp\n> @@ -334,6 +334,23 @@ details::StringSplitter split(const std::string &str, const std::string &delim)\n>   \treturn details::StringSplitter(str, delim);\n>   }\n>   \n> +/**\n> + * \\brief Remove any non-ASCII charachters from a string\n> + * \\param[in] str The string to strip\n> + *\n> + * Remove all non-ASCII characters form a string.\n> + *\n> + * \\return An ASCII string\n> + */\n> +std::string toAscii(const std::string &str)\n> +{\n> +\tstd::string ret;\n> +\tfor (const char &c : str)\n> +\t\tif (!(c & 0x80))\n> +\t\t\tret += c;\n> +\treturn ret;\n> +}\n> +\n>   /**\n>    * \\brief Check if libcamera is installed or not\n>    *","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 9F632C3B5B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 28 Sep 2020 12:43:39 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0830060CE7;\n\tMon, 28 Sep 2020 14:43:39 +0200 (CEST)","from mail.uajain.com (static.126.159.217.95.clients.your-server.de\n\t[95.217.159.126])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3446060364\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Sep 2020 14:43:38 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=uajain.com header.i=@uajain.com\n\theader.b=\"XAIxyw/U\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=uajain.com; s=mail;\n\tt=1601297017; bh=v7XKUxKFY3sKzntsqcP3385bfRr8c7qHmkBjTgiJ52A=;\n\th=Subject:To:References:From:In-Reply-To;\n\tb=XAIxyw/UVGhrI9pLsFAcBxM44Y0uHv5uKnipxHGBZQF3mDLAYwF5G0WFvQv8LXG7j\n\tOvbiJscWtKKQLMHiFvAyoMjHi4I9YJAD96RwqFUed4oLZJiHRRonv1hzzaEclDSRBc\n\tlmmGRDZAe3M3BGQxsNgNfMdka5kxKVE9ejn8cJrQjgpAk9b+91uQ4iai3FUL0z/ewe\n\tnbFH2W4dVd54LRTHJhLNxmVSsyQsfqWwqGzulbLzWcUOwhuYwuhLDvu07428r6xjg/\n\tPypaF4ngvkV3/uKNHbclA2uNsNGcsX8ikekfIsfh04R7vbVFJnJ67ocgz7Ffcb5npt\n\t+566VbK19S8tQ==","To":"=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20200925150743.1822226-1-niklas.soderlund@ragnatech.se>\n\t<20200925150743.1822226-3-niklas.soderlund@ragnatech.se>","From":"Umang Jain <email@uajain.com>","Message-ID":"<b7cadc13-52d2-7e8a-0640-d8b3b6ae299c@uajain.com>","Date":"Mon, 28 Sep 2020 18:13:34 +0530","Mime-Version":"1.0","In-Reply-To":"<20200925150743.1822226-3-niklas.soderlund@ragnatech.se>","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH v5 2/7] libcamera: utils: Add method\n\tto remove non-ASCII characters","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Content-Transfer-Encoding":"base64","Content-Type":"text/plain; charset=\"utf-8\"; Format=\"flowed\"","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]