[{"id":13185,"web_url":"https://patchwork.libcamera.org/comment/13185/","msgid":"<20201013184155.GF11939@pendragon.ideasonboard.com>","date":"2020-10-13T18:41:55","subject":"Re: [libcamera-devel] [PATCH 01/10] cam: options: Rename optional\n\targ to prevent aliasing","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nThank you for the patch.\n\nOn Tue, Oct 13, 2020 at 04:12:32PM +0100, Kieran Bingham wrote:\n> The parseValue function is given the optarg directly from the getopt\n> library, but the function retains the same name.\n> \n> This causes an alias of the global optarg variable to be present in the\n> parseValue function. While this is not harmful, rename it to work\n> towards disabling aliases variables.\n> \n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> ---\n>  src/cam/options.cpp | 10 +++++-----\n>  1 file changed, 5 insertions(+), 5 deletions(-)\n> \n> diff --git a/src/cam/options.cpp b/src/cam/options.cpp\n> index 358507eabf89..417c3ab49bc9 100644\n> --- a/src/cam/options.cpp\n> +++ b/src/cam/options.cpp\n> @@ -77,7 +77,7 @@ void OptionsBase<T>::invalidate()\n>  \n>  template<typename T>\n>  bool OptionsBase<T>::parseValue(const T &opt, const Option &option,\n> -\t\t\t\tconst char *optarg)\n> +\t\t\t\tconst char *arg)\n>  {\n>  \tOptionValue value;\n>  \n> @@ -88,9 +88,9 @@ bool OptionsBase<T>::parseValue(const T &opt, const Option &option,\n>  \tcase OptionInteger:\n>  \t\tunsigned int integer;\n>  \n> -\t\tif (optarg) {\n> +\t\tif (arg) {\n>  \t\t\tchar *endptr;\n> -\t\t\tinteger = strtoul(optarg, &endptr, 0);\n> +\t\t\tinteger = strtoul(arg, &endptr, 0);\n>  \t\t\tif (*endptr != '\\0')\n>  \t\t\t\treturn false;\n>  \t\t} else {\n> @@ -101,12 +101,12 @@ bool OptionsBase<T>::parseValue(const T &opt, const Option &option,\n>  \t\tbreak;\n>  \n>  \tcase OptionString:\n> -\t\tvalue = OptionValue(optarg ? optarg : \"\");\n> +\t\tvalue = OptionValue(arg ? arg : \"\");\n>  \t\tbreak;\n>  \n>  \tcase OptionKeyValue:\n>  \t\tKeyValueParser *kvParser = option.keyValueParser;\n> -\t\tKeyValueParser::Options keyValues = kvParser->parse(optarg);\n> +\t\tKeyValueParser::Options keyValues = kvParser->parse(arg);\n>  \t\tif (!keyValues.valid())\n>  \t\t\treturn false;\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 534BBBEEDF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 13 Oct 2020 18:42:44 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CF7AB60E36;\n\tTue, 13 Oct 2020 20:42:43 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3022C60589\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 Oct 2020 20:42:42 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9BEDBB87;\n\tTue, 13 Oct 2020 20:42:41 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"oeM8jj5a\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1602614561;\n\tbh=LkQOBhcOLsWgL1Ap1BGjT8LlTEO8LvJwhMJoKi8axBA=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=oeM8jj5alhnBbtxv2vrmHETzgUcXybANXZ/Zg102FZ8DgC4WgnpI3dtPSOurWwHTv\n\tTlnIK/tw8gAmYw1sM5BDIouhsAaasWSoE1t63XkKHweiN+ql9T4EjeeZzXiZjI89a7\n\t0ZCt+E1XA+HCU1xWzMEEJQ4VOsDkSJHqj1kArgjU=","Date":"Tue, 13 Oct 2020 21:41:55 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20201013184155.GF11939@pendragon.ideasonboard.com>","References":"<20201013151241.3557005-1-kieran.bingham@ideasonboard.com>\n\t<20201013151241.3557005-2-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20201013151241.3557005-2-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 01/10] cam: options: Rename optional\n\targ to prevent aliasing","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 <libcamera-devel@lists.libcamera.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13186,"web_url":"https://patchwork.libcamera.org/comment/13186/","msgid":"<20201013184216.GG11939@pendragon.ideasonboard.com>","date":"2020-10-13T18:42:16","subject":"Re: [libcamera-devel] [PATCH 01/10] cam: options: Rename optional\n\targ to prevent aliasing","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Tue, Oct 13, 2020 at 09:41:56PM +0300, Laurent Pinchart wrote:\n> Hi Kieran,\n> \n> Thank you for the patch.\n> \n> On Tue, Oct 13, 2020 at 04:12:32PM +0100, Kieran Bingham wrote:\n> > The parseValue function is given the optarg directly from the getopt\n> > library, but the function retains the same name.\n> > \n> > This causes an alias of the global optarg variable to be present in the\n> > parseValue function. While this is not harmful, rename it to work\n> > towards disabling aliases variables.\n> > \n> > Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nand\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n:-)\n\n> > ---\n> >  src/cam/options.cpp | 10 +++++-----\n> >  1 file changed, 5 insertions(+), 5 deletions(-)\n> > \n> > diff --git a/src/cam/options.cpp b/src/cam/options.cpp\n> > index 358507eabf89..417c3ab49bc9 100644\n> > --- a/src/cam/options.cpp\n> > +++ b/src/cam/options.cpp\n> > @@ -77,7 +77,7 @@ void OptionsBase<T>::invalidate()\n> >  \n> >  template<typename T>\n> >  bool OptionsBase<T>::parseValue(const T &opt, const Option &option,\n> > -\t\t\t\tconst char *optarg)\n> > +\t\t\t\tconst char *arg)\n> >  {\n> >  \tOptionValue value;\n> >  \n> > @@ -88,9 +88,9 @@ bool OptionsBase<T>::parseValue(const T &opt, const Option &option,\n> >  \tcase OptionInteger:\n> >  \t\tunsigned int integer;\n> >  \n> > -\t\tif (optarg) {\n> > +\t\tif (arg) {\n> >  \t\t\tchar *endptr;\n> > -\t\t\tinteger = strtoul(optarg, &endptr, 0);\n> > +\t\t\tinteger = strtoul(arg, &endptr, 0);\n> >  \t\t\tif (*endptr != '\\0')\n> >  \t\t\t\treturn false;\n> >  \t\t} else {\n> > @@ -101,12 +101,12 @@ bool OptionsBase<T>::parseValue(const T &opt, const Option &option,\n> >  \t\tbreak;\n> >  \n> >  \tcase OptionString:\n> > -\t\tvalue = OptionValue(optarg ? optarg : \"\");\n> > +\t\tvalue = OptionValue(arg ? arg : \"\");\n> >  \t\tbreak;\n> >  \n> >  \tcase OptionKeyValue:\n> >  \t\tKeyValueParser *kvParser = option.keyValueParser;\n> > -\t\tKeyValueParser::Options keyValues = kvParser->parse(optarg);\n> > +\t\tKeyValueParser::Options keyValues = kvParser->parse(arg);\n> >  \t\tif (!keyValues.valid())\n> >  \t\t\treturn false;\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 64D7EBEEDF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 13 Oct 2020 18:43:04 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3238960DBE;\n\tTue, 13 Oct 2020 20:43:04 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A11F060589\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 Oct 2020 20:43:02 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 31647B87;\n\tTue, 13 Oct 2020 20:43:02 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Sr9P+cxD\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1602614582;\n\tbh=XmRWw/x3Dnt0PGVfr7weAOLFZaf51bzrEqSgGHd7/yo=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Sr9P+cxDOzd7vfwTri4VFRJfoFoMvUJ/SIFKMcik5rGiaJSMD0Lw0RQvb3wSVO66O\n\tqt1HwSjj1esPtjjt8mW1Z9u+bKn1BTyB9Hij7Cro31neXmP/SicQY5ospQe1/kcNrR\n\tNRJTtnC0VqiZLOpZhoIYvk3++hqQ1IqMGBQ3QgI4=","Date":"Tue, 13 Oct 2020 21:42:16 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20201013184216.GG11939@pendragon.ideasonboard.com>","References":"<20201013151241.3557005-1-kieran.bingham@ideasonboard.com>\n\t<20201013151241.3557005-2-kieran.bingham@ideasonboard.com>\n\t<20201013184155.GF11939@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20201013184155.GF11939@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 01/10] cam: options: Rename optional\n\targ to prevent aliasing","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 <libcamera-devel@lists.libcamera.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13195,"web_url":"https://patchwork.libcamera.org/comment/13195/","msgid":"<20201014121804.pvz3qjesitxusvh6@oden.dyn.berto.se>","date":"2020-10-14T12:18:04","subject":"Re: [libcamera-devel] [PATCH 01/10] cam: options: Rename optional\n\targ to prevent aliasing","submitter":{"id":5,"url":"https://patchwork.libcamera.org/api/people/5/","name":"Niklas Söderlund","email":"niklas.soderlund@ragnatech.se"},"content":"Hi Kieran,\n\nOn 2020-10-13 16:12:32 +0100, Kieran Bingham wrote:\n> The parseValue function is given the optarg directly from the getopt\n> library, but the function retains the same name.\n> \n> This causes an alias of the global optarg variable to be present in the\n> parseValue function. While this is not harmful, rename it to work\n> towards disabling aliases variables.\n> \n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nReviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n\n> ---\n>  src/cam/options.cpp | 10 +++++-----\n>  1 file changed, 5 insertions(+), 5 deletions(-)\n> \n> diff --git a/src/cam/options.cpp b/src/cam/options.cpp\n> index 358507eabf89..417c3ab49bc9 100644\n> --- a/src/cam/options.cpp\n> +++ b/src/cam/options.cpp\n> @@ -77,7 +77,7 @@ void OptionsBase<T>::invalidate()\n>  \n>  template<typename T>\n>  bool OptionsBase<T>::parseValue(const T &opt, const Option &option,\n> -\t\t\t\tconst char *optarg)\n> +\t\t\t\tconst char *arg)\n>  {\n>  \tOptionValue value;\n>  \n> @@ -88,9 +88,9 @@ bool OptionsBase<T>::parseValue(const T &opt, const Option &option,\n>  \tcase OptionInteger:\n>  \t\tunsigned int integer;\n>  \n> -\t\tif (optarg) {\n> +\t\tif (arg) {\n>  \t\t\tchar *endptr;\n> -\t\t\tinteger = strtoul(optarg, &endptr, 0);\n> +\t\t\tinteger = strtoul(arg, &endptr, 0);\n>  \t\t\tif (*endptr != '\\0')\n>  \t\t\t\treturn false;\n>  \t\t} else {\n> @@ -101,12 +101,12 @@ bool OptionsBase<T>::parseValue(const T &opt, const Option &option,\n>  \t\tbreak;\n>  \n>  \tcase OptionString:\n> -\t\tvalue = OptionValue(optarg ? optarg : \"\");\n> +\t\tvalue = OptionValue(arg ? arg : \"\");\n>  \t\tbreak;\n>  \n>  \tcase OptionKeyValue:\n>  \t\tKeyValueParser *kvParser = option.keyValueParser;\n> -\t\tKeyValueParser::Options keyValues = kvParser->parse(optarg);\n> +\t\tKeyValueParser::Options keyValues = kvParser->parse(arg);\n>  \t\tif (!keyValues.valid())\n>  \t\t\treturn false;\n>  \n> -- \n> 2.25.1\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 919A1BEEDF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 14 Oct 2020 12:18:08 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 270C560E83;\n\tWed, 14 Oct 2020 14:18:08 +0200 (CEST)","from mail-lf1-x141.google.com (mail-lf1-x141.google.com\n\t[IPv6:2a00:1450:4864:20::141])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BEA2960354\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 14 Oct 2020 14:18:06 +0200 (CEST)","by mail-lf1-x141.google.com with SMTP id h6so3460256lfj.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 14 Oct 2020 05:18:06 -0700 (PDT)","from localhost (h-209-203.A463.priv.bahnhof.se. [155.4.209.203])\n\tby smtp.gmail.com with ESMTPSA id\n\tz5sm1081515lfj.290.2020.10.14.05.18.05\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 14 Oct 2020 05:18:05 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=ragnatech-se.20150623.gappssmtp.com\n\theader.i=@ragnatech-se.20150623.gappssmtp.com\n\theader.b=\"bb1FUbl9\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=ragnatech-se.20150623.gappssmtp.com; s=20150623;\n\th=date:from:to:cc:subject:message-id:references:mime-version\n\t:content-disposition:content-transfer-encoding:in-reply-to;\n\tbh=C9lvFeg4H2L8TBHGPeFm51Rd6S9aQbS7qVwzu1WyP9o=;\n\tb=bb1FUbl9v2IXsieJhu0ZSmn/qAcikdQ5ASHYK9cDvlmz06lGJ3Zd38HYC950Vk8mr2\n\tqdF4jDVCMsMV8V8CW+FTcyLGcVN5DXywrct2RgxCEktk7r+DXvEEyUDkVDxJMXYqLJmg\n\tNZdT68fS7j2CGooTTnAg/zhgrMqeLwBGP1UdXCZaPQqskdqbY1QaamRS+mZ94ezEk81/\n\tOGQgeXBjdH9lWzCRiD7kYRh6o2GSEjXEHXv8IEhL5aJVecB0Fs4X3JeuqRUMBrTrsPYa\n\tvZis/k2eo13RrAakUVAAOib6ylMVcytpWSxz8hw/5Uo+rMMqq0Ax2PGnmyeuGerbLYVB\n\tuSvQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:content-transfer-encoding\n\t:in-reply-to;\n\tbh=C9lvFeg4H2L8TBHGPeFm51Rd6S9aQbS7qVwzu1WyP9o=;\n\tb=Dw2RMzFgijFli7gd90C51Y4lqg2UdH8Fq/2ATeY+ajUmREFIC+p7bGehEbtrff39d3\n\t/JLsW3dFC6QpuOS46qE5tI2U6VVGTTHqX34yCK+JGHdBIuxkOea5pdONL9W/ZkPl3FQZ\n\tvrPYlbxRRc6dGWQazqLm0XMfjMC8wA7m4Nm4P1oqPPtir7qCleRKG+82scNKaHFpkAgq\n\tzRedpswrBZfddDLWCqoRGTlpuz3S13XUHNIRYUH01oIU8nN3yzer7jf1K/Ix4Cz8TSnP\n\ttn25rHSkdc8R2Nu89sjkpClwWy8SmSQx1mdPKAboYukT5P6E7GxL/5NYMMLkqCWWbJ04\n\tQtkg==","X-Gm-Message-State":"AOAM532618NLrXUqT/X2RdAIwtM2f+SmUfrT1IRbHhu3tIquInlyKSSf\n\tSG9gUEsp8x7rckJ5cQk/rSroWMfsw4oF6A==","X-Google-Smtp-Source":"ABdhPJz7w6ctGpRDqstfp+gacOX6+dvurFoPukEADuoqeJRBkFDMr4fq7v23oHoeisAVRnaySlK3IA==","X-Received":"by 2002:a19:224b:: with SMTP id\n\ti72mr1161909lfi.226.1602677886184; \n\tWed, 14 Oct 2020 05:18:06 -0700 (PDT)","Date":"Wed, 14 Oct 2020 14:18:04 +0200","From":"Niklas =?utf-8?q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20201014121804.pvz3qjesitxusvh6@oden.dyn.berto.se>","References":"<20201013151241.3557005-1-kieran.bingham@ideasonboard.com>\n\t<20201013151241.3557005-2-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20201013151241.3557005-2-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 01/10] cam: options: Rename optional\n\targ to prevent aliasing","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 <libcamera-devel@lists.libcamera.org>","Content-Type":"text/plain; charset=\"iso-8859-1\"","Content-Transfer-Encoding":"quoted-printable","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]