Show a patch.

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

{
    "id": 20374,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/20374/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/20374/",
    "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": "<20240624192941.22943-8-laurent.pinchart@ideasonboard.com>",
    "date": "2024-06-24T19:29:38",
    "name": "[07/10] apps: Define local functions in anonymous namespace",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "571e7eb2d93b8950ba66ede40bc38901dcb89547",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/20374/mbox/",
    "series": [
        {
            "id": 4413,
            "url": "https://patchwork.libcamera.org/api/1.1/series/4413/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4413",
            "date": "2024-06-24T19:29:31",
            "name": "libcamera: Enable -Wmissing-declarations",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/4413/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/20374/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/20374/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 13B06BD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 24 Jun 2024 19:30:23 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C1B4D654A3;\n\tMon, 24 Jun 2024 21:30:22 +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 81E47654AA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 24 Jun 2024 21:30:13 +0200 (CEST)",
            "from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 779BE1935;\n\tMon, 24 Jun 2024 21:29:51 +0200 (CEST)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"W9BEKz6w\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1719257391;\n\tbh=sp/WPqVO9zetJYTYWRR9AGDR3MeZFbO9fzrm5MU26wI=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=W9BEKz6wqW2d+xwrezmkxncJmpJLCLTJE3WUxDOMSbuHFDHrCwABosu8aXiHnzHWF\n\tTlTEwGITWGTCOskIrKQfBGFf2iRQuiPtQZw9weaKAJsEe4hxEFrzLNI7lP7uJ01GaR\n\tQOBlUnu1Gi29JFsoG4cAX/JnNm8wJfUtq9J/cp9k=",
        "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "=?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= <pobrn@protonmail.com>",
        "Subject": "[PATCH 07/10] apps: Define local functions in anonymous namespace",
        "Date": "Mon, 24 Jun 2024 22:29:38 +0300",
        "Message-ID": "<20240624192941.22943-8-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.44.2",
        "In-Reply-To": "<20240624192941.22943-1-laurent.pinchart@ideasonboard.com>",
        "References": "<20240624192941.22943-1-laurent.pinchart@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Multiple local functions are defined in the global namespace without the\nstatic keyword. This compiles fine for now, but will cause a missing\ndeclaration warning when we enable thel. To prepare for that, move the\nfunction declaration to an anonymous namespace.\n\nWhile at it, for consistency, include an existing static function in the\nnamespace and drop the static keyword.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/apps/cam/main.cpp          | 4 ++++\n src/apps/common/dng_writer.cpp | 6 +++++-\n src/apps/qcam/main.cpp         | 4 ++++\n 3 files changed, 13 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/src/apps/cam/main.cpp b/src/apps/cam/main.cpp\nindex 4f87f200db21..460dbc813060 100644\n--- a/src/apps/cam/main.cpp\n+++ b/src/apps/cam/main.cpp\n@@ -344,12 +344,16 @@ std::string CamApp::cameraName(const Camera *camera)\n \treturn name;\n }\n \n+namespace {\n+\n void signalHandler([[maybe_unused]] int signal)\n {\n \tstd::cout << \"Exiting\" << std::endl;\n \tCamApp::instance()->quit();\n }\n \n+} /* namespace */\n+\n int main(int argc, char **argv)\n {\n \tCamApp app;\ndiff --git a/src/apps/common/dng_writer.cpp b/src/apps/common/dng_writer.cpp\nindex 59f1fa23543b..58e35f3f9e1b 100644\n--- a/src/apps/common/dng_writer.cpp\n+++ b/src/apps/common/dng_writer.cpp\n@@ -126,6 +126,8 @@ struct Matrix3d {\n \tfloat m[9];\n };\n \n+namespace {\n+\n void packScanlineSBGGR8(void *output, const void *input, unsigned int width)\n {\n \tconst uint8_t *in = static_cast<const uint8_t *>(input);\n@@ -282,7 +284,7 @@ void thumbScanlineIPU3([[maybe_unused]] const FormatInfo &info, void *output,\n \t}\n }\n \n-static const std::map<PixelFormat, FormatInfo> formatInfo = {\n+const std::map<PixelFormat, FormatInfo> formatInfo = {\n \t{ formats::SBGGR8, {\n \t\t.bitsPerSample = 8,\n \t\t.pattern = { CFAPatternBlue, CFAPatternGreen, CFAPatternGreen, CFAPatternRed },\n@@ -381,6 +383,8 @@ static const std::map<PixelFormat, FormatInfo> formatInfo = {\n \t} },\n };\n \n+} /* namespace */\n+\n int DNGWriter::write(const char *filename, const Camera *camera,\n \t\t     const StreamConfiguration &config,\n \t\t     const ControlList &metadata,\ndiff --git a/src/apps/qcam/main.cpp b/src/apps/qcam/main.cpp\nindex 9846fba58508..d0bde14130fb 100644\n--- a/src/apps/qcam/main.cpp\n+++ b/src/apps/qcam/main.cpp\n@@ -21,6 +21,8 @@\n \n using namespace libcamera;\n \n+namespace {\n+\n void signalHandler([[maybe_unused]] int signal)\n {\n \tqInfo() << \"Exiting\";\n@@ -52,6 +54,8 @@ OptionsParser::Options parseOptions(int argc, char *argv[])\n \treturn options;\n }\n \n+} /* namespace */\n+\n int main(int argc, char **argv)\n {\n \tQApplication app(argc, argv);\n",
    "prefixes": [
        "07/10"
    ]
}