Show a patch.

GET /api/1.1/patches/10189/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 10189,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/10189/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/10189/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20201021154148.511505-13-kieran.bingham@ideasonboard.com>",
    "date": "2020-10-21T15:41:45",
    "name": "[libcamera-devel,v4,12/15] cam: options: Rename optional arg to prevent shadowing",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "ee3292aa0041e9d4595db011e20fbbe06e456c02",
    "submitter": {
        "id": 4,
        "url": "https://patchwork.libcamera.org/api/1.1/people/4/?format=api",
        "name": "Kieran Bingham",
        "email": "kieran.bingham@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/10189/mbox/",
    "series": [
        {
            "id": 1401,
            "url": "https://patchwork.libcamera.org/api/1.1/series/1401/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1401",
            "date": "2020-10-21T15:41:33",
            "name": "Shadowed Variables",
            "version": 4,
            "mbox": "https://patchwork.libcamera.org/series/1401/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/10189/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/10189/checks/",
    "tags": {},
    "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 29253BDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 21 Oct 2020 15:42:05 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E4A0B60F35;\n\tWed, 21 Oct 2020 17:42: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 5F60160BE7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 21 Oct 2020 17:41:57 +0200 (CEST)",
            "from Q.local (cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net\n\t[86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EE18FBB5;\n\tWed, 21 Oct 2020 17:41:56 +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=\"aQP8Hgui\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1603294917;\n\tbh=WsT4Ga5qooj1Lmo83sXjkvx8v55lkwOMWMI9Y/TYYf4=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=aQP8HguierCaMhcVuHBcydG7/FsKIsQoG14D5EcrvHtCkNoBE3Jx59FH4XAzULxqL\n\toHyHvCb5VOEAKNDYy/wY9vE15F72GwBqWwLIbD9bT0Al9NZg4ZOdvsjKzoXe4m8k0P\n\t+HVA07Hrua0+H6fvOrgEVImA4uDFQIdAN8e0z7fc=",
        "From": "Kieran Bingham <kieran.bingham@ideasonboard.com>",
        "To": "libcamera devel <libcamera-devel@lists.libcamera.org>",
        "Date": "Wed, 21 Oct 2020 16:41:45 +0100",
        "Message-Id": "<20201021154148.511505-13-kieran.bingham@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20201021154148.511505-1-kieran.bingham@ideasonboard.com>",
        "References": "<20201021154148.511505-1-kieran.bingham@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Subject": "[libcamera-devel] [PATCH v4 12/15] cam: options: Rename optional\n\targ to prevent shadowing",
        "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-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>"
    },
    "content": "The parseValue function is given the optarg directly from the getopt\nlibrary, but the function retains the same name.\n\nThis causes an shadowed variable of the global optarg variable to be\npresent in the parseValue function. While this is not harmful, rename it\nto work towards disabling shadowed variables.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\nReviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n---\n src/cam/options.cpp | 10 +++++-----\n 1 file changed, 5 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/src/cam/options.cpp b/src/cam/options.cpp\nindex 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",
    "prefixes": [
        "libcamera-devel",
        "v4",
        "12/15"
    ]
}