Show a patch.

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

{
    "id": 10047,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/10047/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/10047/",
    "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": "<20201013151241.3557005-2-kieran.bingham@ideasonboard.com>",
    "date": "2020-10-13T15:12:32",
    "name": "[libcamera-devel,01/10] cam: options: Rename optional arg to prevent aliasing",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "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/10047/mbox/",
    "series": [
        {
            "id": 1374,
            "url": "https://patchwork.libcamera.org/api/1.1/series/1374/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=1374",
            "date": "2020-10-13T15:12:31",
            "name": "Shadowed Variables",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/1374/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/10047/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/10047/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 C7814BEEDF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 13 Oct 2020 15:12:49 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 86C8860CE6;\n\tTue, 13 Oct 2020 17:12:48 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D54AE60D4B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 Oct 2020 17:12:46 +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 66B0CBA9;\n\tTue, 13 Oct 2020 17:12:46 +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=\"ggHC22kB\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1602601966;\n\tbh=5cAqMH7H4oMMDzC8cVZvQ4YbqlGcPES8aYPfVwzJYYw=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=ggHC22kBL/3DO1Rh+NaI4+LrjdC+6LlFdHIa0cqIjsxRD42vWr8l39Uzjpt6Gjpur\n\tF+EKZevKPmDgTF7L9ApUDFo5uQKUPsJ1wD4lZhb1vo60yywLgvZ4Sc92A6Hgfu7c5c\n\ty/kQ6LeJzVbtuj633WMjawBhjhgNj6qAGGtcPhSU=",
        "From": "Kieran Bingham <kieran.bingham@ideasonboard.com>",
        "To": "libcamera devel <libcamera-devel@lists.libcamera.org>",
        "Date": "Tue, 13 Oct 2020 16:12:32 +0100",
        "Message-Id": "<20201013151241.3557005-2-kieran.bingham@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20201013151241.3557005-1-kieran.bingham@ideasonboard.com>",
        "References": "<20201013151241.3557005-1-kieran.bingham@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Subject": "[libcamera-devel] [PATCH 01/10] cam: options: Rename optional arg\n\tto 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>",
        "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>"
    },
    "content": "The parseValue function is given the optarg directly from the getopt\nlibrary, but the function retains the same name.\n\nThis causes an alias of the global optarg variable to be present in the\nparseValue function. While this is not harmful, rename it to work\ntowards disabling aliases variables.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\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",
        "01/10"
    ]
}