get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 818403,
    "url": "http://patchwork.ozlabs.org/api/patches/818403/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/c52d7f4dac2d3d209968019d389baa64243d2966.1506384415.git.alistair.francis@xilinx.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api",
        "name": "QEMU Development",
        "link_name": "qemu-devel",
        "list_id": "qemu-devel.nongnu.org",
        "list_email": "qemu-devel@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<c52d7f4dac2d3d209968019d389baa64243d2966.1506384415.git.alistair.francis@xilinx.com>",
    "list_archive_url": null,
    "date": "2017-09-26T00:09:07",
    "name": "[v1,7/8] tcg: Replace fprintf(stderr, \"*\\n\" with error_report()",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "838c7a621dfb8d3a28fb0b8a60e6e7a71ea023f2",
    "submitter": {
        "id": 47878,
        "url": "http://patchwork.ozlabs.org/api/people/47878/?format=api",
        "name": "Alistair Francis",
        "email": "alistair.francis@xilinx.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/c52d7f4dac2d3d209968019d389baa64243d2966.1506384415.git.alistair.francis@xilinx.com/mbox/",
    "series": [
        {
            "id": 5037,
            "url": "http://patchwork.ozlabs.org/api/series/5037/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=5037",
            "date": "2017-09-26T00:08:34",
            "name": "Remove some of the fprintf(stderr, \"*",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/5037/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/818403/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/818403/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=xilinx.onmicrosoft.com\n\theader.i=@xilinx.onmicrosoft.com header.b=\"cckwurIG\"; \n\tdkim-atps=neutral",
            "spf=pass (sender IP is 149.199.60.100)\n\tsmtp.mailfrom=xilinx.com; weilnetz.de; dkim=none (message not signed)\n\theader.d=none;weilnetz.de; dmarc=bestguesspass action=none\n\theader.from=xilinx.com;"
        ],
        "Received": [
            "from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y1Lz612ycz9s7C\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 26 Sep 2017 10:13:54 +1000 (AEST)",
            "from localhost ([::1]:44890 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dwdVY-0002yL-7S\n\tfor incoming@patchwork.ozlabs.org; Mon, 25 Sep 2017 20:13:52 -0400",
            "from eggs.gnu.org ([2001:4830:134:3::10]:55603)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <alistai@xilinx.com>) id 1dwdUk-0002wV-0t\n\tfor qemu-devel@nongnu.org; Mon, 25 Sep 2017 20:13:03 -0400",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <alistai@xilinx.com>) id 1dwdUg-0005dA-4l\n\tfor qemu-devel@nongnu.org; Mon, 25 Sep 2017 20:13:01 -0400",
            "from mail-bn3nam01on0063.outbound.protection.outlook.com\n\t([104.47.33.63]:15136\n\thelo=NAM01-BN3-obe.outbound.protection.outlook.com)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <alistai@xilinx.com>) id 1dwdUf-0005cm-TN\n\tfor qemu-devel@nongnu.org; Mon, 25 Sep 2017 20:12:58 -0400",
            "from BLUPR0201CA0020.namprd02.prod.outlook.com (10.163.116.30) by\n\tCY1PR02MB1134.namprd02.prod.outlook.com (10.163.15.148) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.77.7; Tue, 26 Sep 2017 00:12:55 +0000",
            "from SN1NAM02FT032.eop-nam02.prod.protection.outlook.com\n\t(2a01:111:f400:7e44::207) by BLUPR0201CA0020.outlook.office365.com\n\t(2a01:111:e400:52e7::30) with Microsoft SMTP Server (version=TLS1_2, \n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.56.11 via\n\tFrontend Transport; Tue, 26 Sep 2017 00:12:54 +0000",
            "from xsj-pvapsmtpgw02 (149.199.60.100) by\n\tSN1NAM02FT032.mail.protection.outlook.com (10.152.72.126) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.35.14\n\tvia Frontend Transport; Tue, 26 Sep 2017 00:12:53 +0000",
            "from unknown-38-66.xilinx.com ([149.199.38.66]:49881\n\thelo=xsj-pvapsmtp01) by xsj-pvapsmtpgw02 with esmtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dwdUb-0001oA-44; Mon, 25 Sep 2017 17:12:53 -0700",
            "from [127.0.0.1] (helo=localhost)\n\tby xsj-pvapsmtp01 with smtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dwdUb-0008Vj-16; Mon, 25 Sep 2017 17:12:53 -0700",
            "from xsj-pvapsmtp01 (xsj-smtp1.xilinx.com [149.199.38.66])\n\tby xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id\n\tv8Q0ClAg007393; Mon, 25 Sep 2017 17:12:47 -0700",
            "from [172.19.2.220] (helo=localhost.localdomain)\n\tby xsj-pvapsmtp01 with esmtp (Exim 4.63)\n\t(envelope-from <alistair.francis@xilinx.com>)\n\tid 1dwdUV-0008VQ-0O; Mon, 25 Sep 2017 17:12:47 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=xilinx.onmicrosoft.com; s=selector1-xilinx-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=IxJ7szBWmzPEZM+nnrbljpAeWSJ3sunfP7gcYLWajBQ=;\n\tb=cckwurIGexAnjG5RR4A4RjQP2g9wrEnNke3doBY8TgRRFU4SoCNSCHGY7qaHQkuEGu33rZ+BZTuMLuMGGqLCeQwaVYxrLfaovK72mnQliALQ4PoxsTvnFJi+dYpQAV2+ilOicT8HQqf0zOlQGHwQGKxKl+NUyj6tf4q/XJNn8XM=",
        "Received-SPF": "Pass (protection.outlook.com: domain of xilinx.com designates\n\t149.199.60.100 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=149.199.60.100; helo=xsj-pvapsmtpgw02;",
        "From": "Alistair Francis <alistair.francis@xilinx.com>",
        "To": "<qemu-devel@nongnu.org>",
        "Date": "Mon, 25 Sep 2017 17:09:07 -0700",
        "Message-ID": "<c52d7f4dac2d3d209968019d389baa64243d2966.1506384415.git.alistair.francis@xilinx.com>",
        "X-Mailer": "git-send-email 2.11.0",
        "In-Reply-To": "<cover.1506384414.git.alistair.francis@xilinx.com>",
        "References": "<cover.1506384414.git.alistair.francis@xilinx.com>",
        "X-RCIS-Action": "ALLOW",
        "X-TM-AS-Product-Ver": "IMSS-7.1.0.1224-8.1.0.1062-23350.005",
        "X-TM-AS-User-Approved-Sender": "Yes;Yes",
        "X-EOPAttributedMessage": "0",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Forefront-Antispam-Report": "CIP:149.199.60.100; IPV:NLI; CTRY:US; EFV:NLI; \n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(346002)(376002)(39860400002)(2980300002)(438002)(189002)(199003)(478600001)(36386004)(33646002)(39060400002)(8676002)(4326008)(76176999)(50986999)(50226002)(36756003)(2906002)(118296001)(48376002)(8936002)(81156014)(106466001)(81166006)(575784001)(5660300001)(54906003)(16586007)(5003940100001)(2351001)(9786002)(189998001)(47776003)(305945005)(50466002)(63266004)(2950100002)(356003)(6916009)(77096006)(316002)(6666003)(107986001)(5001870100001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR02MB1134; H:xsj-pvapsmtpgw02;\n\tFPR:; SPF:Pass; PTR:xapps1.xilinx.com,unknown-60-100.xilinx.com;\n\tMX:1; A:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; SN1NAM02FT032;\n\t1:CYUEwrI4cuGuCYXhnIpRKeGyqxkvG2trpiEqrsJTfHEUeHDbCKJIfxNlx+GhVM2uMNQagm3hrkz2J363SBD13wlkIbJD2mx3AOIR9u6ZQGGuYvl20qiL/37cskt1nGWI",
            "1; CY1PR02MB1134;\n\t3:LX3igBWaa0J7BopMogI8yqBfJCJqjFaltaqY3DVyVWeEHDqCKkWF2galj4gpJ31knORlLOPft+72bvnX/yb0icw8IbmNG2i6MuopgaT8m5h/geOIfbD0/GAl73rqwC5drmssNWSntDGgrJtrx6ZiRvou7CsuH1MpHKim+C6qmMZZBpV4eKog599wBeP4Gkvzeh/d7NX2gKNY1lmbdCw9nHvqTb014cIVfjzCMDsQWuxPPwmXuCKqM2P5Tajrfw+GsbYTSa5veZwlFQqgZe3oNNXIMhIwDCeju76HyhNMpZso/4cWrwtpzfIB0SASu7BOGQgofy/kNRsHO7R9sh83yHT3d0TECmHjFZ4zNYXWgaQ=;\n\t25:LExQwqpFukxwowg2VAIMPwEEGN4894J9QNZGFrRv28qBD3cgOZ6ZFZbsO2ODibMfmgUzkhijw4qZoPOBAIkGlG/ASZH0ZpExQ/8Deajt6GDbD6ExaPJ3G8/lfiQ+/SMUt1Leo/EkHOx+7aT/78TgK3g4I1XQ6mC6+dvlfDb54vGgJBo/SU2rp3MZ9sswzBPx8WQm9yx3SAF450FoEH4SPAVWfRL7RfvKkT5bVvrZ5zvwH4q6yEm5k/DzRTxJvSEtUKAPCmhlTH/IZCCjwEDnGhEGNx/iJLkakMAzoid4MinUFwfqJGVnH0T6eR8+makIckBLkONJZd6U5S3tBb/S0g==",
            "1; CY1PR02MB1134;\n\t31:h55eNfYYRzPzU9Koei+2Dr6mZWoSFLHcq/m5F9WQ6WsuhBjSTVvkqMIZZm0sH3H7fYF6/kix2WKAzdoZbe6DCsaZbMZcpLAP5nbfpmsxIiR5ewgka4YH80t7zQzab6tunlOF5BKshI5m0f+x3JDe3sOQFwI1jznkyINYQTX+f7qVJD558MRNaTew9+3cY3VZvLV6nZvmv6+1JLmX8EVDaA0U2TQfZ9C2jfVP9qSI4mI=;\n\t20:EfJZjx12TpFZOLaqaaHhHQBfLl1q9BjexaDf6n/AGvJ5U1ZgnbErs+Ss1LTYBxGQBklKcj7a7voUvtefE7KrsPLxKRCUq0qVzaqN29GD5ed0ma3Kf4fQxlyAfUw2oW6MHfRa/3UFH9wRx9tVXvTA24ISH12fet1vm7MDtUfMazlGMVQwpAUnykyyZDrV4H75VhULNYXboKIey1oR8GNwmcE1+aTPhysTk1hYjL8L7oH6eeIxM6SANEW2bqJK+NUZVjm+nLL/Dd3CRQf7AEzDIqz5hHOzAv2kVKe/v79qccapVyKvbUlXfsqVjcKRL470bw91Z8JOunkpqU6G6HTwXlGQ1VTqUL53tPU9Ds0MhYtCcoTubmTZAmk/CSkcL7M9CeyPRn3U92J3rxE+oAzXrvs/1VlqbrUxjIKfE2EHy0v/DcgRAgKmR5lHx4qlKUs6KXmg1KJBx66H48W0asdYM/+M4JA8bCsXsxCIg/U2PDGLxfmYXdRMj0Kw/ykdbCP9",
            "1; CY1PR02MB1134;\n\t4:lNcLSfRP/6pKzFiIMfuQYvSum5LpKp9hn8Ro6i4dORzu1iR3XZXAvz/ePINCHEwkNqOe+z5setikPIjiBxdXY35hXcQOlrg5bT0zor7HXFlq6sZB1S7jmwyySaf8ZAZJHHj8SqmSRLh5hbCCrEypsBNsxRQRRPip4bfbv5ALdOZzTenysFaOm3//zHVkzyFrk12BiBgwnL3aTE/5YHaFGKDcimcMPoPp+PlLokuJtZ8tKY1m8NBCy67VaKEvl/kDw5qNE96ZUWSwbzF1q6e64fH5ZzVSFN21ShA7gG2sUeHkD/YrkFnl0eITYngNA/g6/0bl6VeAgBghywU1NifuzQ==",
            "=?us-ascii?Q?1; CY1PR02MB1134;\n\t23:IhbZStmTN6v0N0xbQ8VG2lEfVfpyAyQWD9Bsyhqom?=\n\tHkUWrfgosx2H2PqLbFviTdgvd1DoyxxKHojrgxALA2d1qMcebkcb+0j6VfF04VGUNfBqrioUzv8vqdzvwIUkJLGSj8JjO4oWscno3jNYyIbQ6byx6OGTKeFBzKYoywav5f+aYyn8jLclXMYJpquN6zAbSA3Z5+ytom3LV5RxKg8o5+WD8Srxrzjrnl/b6/uIzjmlZcf1JVH2zZWfBBGmt8lwF1PYs7X8mcWDY9CneWaI9cbKtludqFQS6M7dpHYKC+fSR1a0ovzbFXig9CMOvipaaFK0m/JkaLjAWPSH7KBPC/sizvd0maB6CPtZTDLCEmxFHDNTnqS1i5QkzHq0TfOEkGvc3J2Z+WAylKVZq9vu5Zu3YeNmnE+kDaPxNpGXXQyPqMJaJKNJtbZPcayYb/BfuwXIocaM5hynxlB6+F1IZqdoA1QGb4A5yzVgDtxrmh1IYgn3QeMGGuTiEJU09LM2UzNE3QjKcKaB4oifhhrJf0zW4E1NIJLdM0CNmgHfEVgS8Ah2CB99BDWbfZu6e9PFaEV3cE7sdmi3dKpXNC00W4DCIV7LFevLZkbpgDCHizb7B48ZAaBhfbXwmQ51huMz/4EfpQFDHhKsCTeQ3V+Hd5N1fLyP/Cp5WTaTZg2kh4JxeyK6xaG3UBRRdMPvVKWmAOf4zD2CoNi4oU1GASkZbCs5dpRpDTNsGgLCfgbFgejR+5bJD1WzXiR5M7whvLfEAHnXHBPrr0DiE6cqiilAmLLMRX5EtGwy2TXfAt1MeNy+rIc79vDnhL/EvyutEJHgyddUzTww4T6svgWqIdim1/Ct5+RULnmXeiAbZaWLwhQruShaBjTm64hY4xjPHuciUTLSSX1ol0i/SI4klD8XUO9gyl1OpCev9jlqFZfKbMZYqkAuQWnSyqkw259bZyVgK3AbW/pVTz/ixwNDZn3mguvQ/ge94+Hwm2/1JJa3Mvb24F04FOOMb0h0wOVAASRonEdJu6/tMSlsDm3OaJ1zOx8by06f1P7Kam0Cwtp1tLHfe6VHT60RDC5MqsGTWp0DaJkvIFBFJlxqi5LcjKYfQ==",
            "1; CY1PR02MB1134;\n\t6:iy/eU/zb7JIfoPPU4yLxsE30i6T+MP9d1XYPw/8ZJwvPz6lzK6VfjhM1z+ulTr9MGKKjb8bXuE5puBu/eUFW6+BPKpiMeSM6vHJolcsyiUfTlkTaOBlAV9AvttRZKvrex30tnpiNrjPWBNNmscSCLgHP1KyMnuGT9roD7et7n1oM2LOoP3b3+k8pIUwe+MxrsSRgchYVH8PGdIwhQWNOqCPeRn/8HmKVOzHhYDJbIVdtAQVYXm7SOoSQWMIaBuPTZ98tlvUywOvNZFWyfRhFe2N/RMNHJ5y9pAtCl3exMIglE+ag1LnzFUXL0yuIx9N8LNzmgFcBBI3ODKLxkDb6pw==;\n\t5:KGzXA6XPb2LC1V8pyY/Fm3jInl5tlNTCOlKOJwd4EqIG8TLkFroXCA3iYLdhlduQYp/VFhZhf+k8cKpoCzyM6XalEGre9ac2qdkChRTe9sNzujfxB6FvcRR7EzA6IgekFrs+alu2FsfbpwOpr8g/vQ==;\n\t24:4hsnpwZqa0DmPpZy6AhpGwFoFpcqb9pRDGnxtSBGtvsrBNg4F8H3nD0TVk6JU9d9xEtbdE2k2saleqYQ1DXhgjMQoaaBdOmJHyLui/qCgsM=;\n\t7:siX3eZspFF8YYtrjNxgdUrrBJ8qCk7LbMV9FRhxouR1NLoWmBHT+KARi3g3m6/9CAKyPwxn3Fh6uDcQUNdBvp0WcIScga4aHwmyMlsnW/215wPZdupyPE8+fyf67HAu8LDIjc1QURwpquast3Ta8mAW+sYYVVaW3gZmTIGRaM4J5AkzZ6nIxMc0eEjImQ2P2nYtiJMi8gLqWjj6AomBlaX561E+ogasmzFSaFNx+L/Y="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "1cd79f27-0190-4ee4-2271-08d50473555c",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(2017030254152)(8251501002)(2017052603199)(201703131423075)(201703031133081)(201702281549075);\n\tSRVR:CY1PR02MB1134; ",
        "X-MS-TrafficTypeDiagnostic": "CY1PR02MB1134:",
        "X-Exchange-Antispam-Report-Test": "UriScan:(788757137089)(192813158149592);",
        "X-Microsoft-Antispam-PRVS": "<CY1PR02MB1134367F82FA4507F3A7EAC1DC7B0@CY1PR02MB1134.namprd02.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(93006095)(93004095)(3002001)(10201501046)(6055026)(6041248)(20161123558100)(20161123564025)(20161123560025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:CY1PR02MB1134; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:CY1PR02MB1134; ",
        "X-Forefront-PRVS": "0442E569BC",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "xilinx.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "26 Sep 2017 00:12:53.8426\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "657af505-d5df-48d0-8300-c31994686c5c",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=657af505-d5df-48d0-8300-c31994686c5c; \n\tIp=[149.199.60.100]; Helo=[xsj-pvapsmtpgw02]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "CY1PR02MB1134",
        "X-detected-operating-system": "by eggs.gnu.org: Windows 7 or 8 [fuzzy]",
        "X-Received-From": "104.47.33.63",
        "Subject": "[Qemu-devel] [PATCH v1 7/8] tcg: Replace fprintf(stderr,\n\t\"*\\n\" with error_report()",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.21",
        "Precedence": "list",
        "List-Id": "<qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel/>",
        "List-Post": "<mailto:qemu-devel@nongnu.org>",
        "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>",
        "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Cc": "Peter Crosthwaite <crosthwaite.peter@gmail.com>,\n\tStefan Weil <sw@weilnetz.de>, armbru@redhat.com,\n\talistair.francis@xilinx.com, Paolo Bonzini <pbonzini@redhat.com>,\n\talistair23@gmail.com, Richard Henderson <rth@twiddle.net>",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"
    },
    "content": "Replace a large number of the fprintf(stderr, \"*\\n\" calls with\nerror_report(). The functions were renamed with these commands and then\ncompiler issues where manually fixed.\n\nfind ./* -type f -exec sed -i \\\n    'N;N;N;N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, \"\\(.*\\)\\\\n\"\\(.*\\));|error_report(\"\\1\"\\2);|Ig}' \\\n    {} +\nfind ./* -type f -exec sed -i \\\n    'N;N;N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, \"\\(.*\\)\\\\n\"\\(.*\\));|error_report(\"\\1\"\\2);|Ig}' \\\n    {} +\nfind ./* -type f -exec sed -i \\\n    'N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, \"\\(.*\\)\\\\n\"\\(.*\\));|error_report(\"\\1\"\\2);|Ig}' \\\n    {} +\nfind ./* -type f -exec sed -i \\\n    'N;N;N;N;N;N;N;N; {s|fprintf(stderr, \"\\(.*\\)\\\\n\"\\(.*\\));|error_report(\"\\1\"\\2);|Ig}' \\\n    {} +\nfind ./* -type f -exec sed -i \\\n    'N;N;N;N;N;N;N; {s|fprintf(stderr, \"\\(.*\\)\\\\n\"\\(.*\\));|error_report(\"\\1\"\\2);|Ig}' \\\n    {} +\nfind ./* -type f -exec sed -i \\\n    'N;N;N;N;N;N; {s|fprintf(stderr, \"\\(.*\\)\\\\n\"\\(.*\\));|error_report(\"\\1\"\\2);|Ig}' \\\n    {} +\nfind ./* -type f -exec sed -i \\\n    'N;N;N;N;N; {s|fprintf(stderr, \"\\(.*\\)\\\\n\"\\(.*\\));|error_report(\"\\1\"\\2);|Ig}' \\\n    {} +\nfind ./* -type f -exec sed -i \\\n    'N;N;N;N; {s|fprintf(stderr, \"\\(.*\\)\\\\n\"\\(.*\\));|error_report(\"\\1\"\\2);|Ig}' \\\n    {} +\nfind ./* -type f -exec sed -i \\\n    'N;N;N; {s|fprintf(stderr, \"\\(.*\\)\\\\n\"\\(.*\\));|error_report(\"\\1\"\\2);|Ig}' \\\n    {} +\nfind ./* -type f -exec sed -i \\\n    'N;N; {s|fprintf(stderr, \"\\(.*\\)\\\\n\"\\(.*\\));|error_report(\"\\1\"\\2);|Ig}' \\\n    {} +\nfind ./* -type f -exec sed -i \\\n    'N; {s|fprintf(stderr, \"\\(.*\\)\\\\n\"\\(.*\\));|error_report(\"\\1\"\\2);|Ig}' \\\n    {} +\n\nSigned-off-by: Alistair Francis <alistair.francis@xilinx.com>\nCc: Paolo Bonzini <pbonzini@redhat.com>\nCc: Peter Crosthwaite <crosthwaite.peter@gmail.com>\nCc: Richard Henderson <rth@twiddle.net>\nCc: Stefan Weil <sw@weilnetz.de>\n---\n\n cpus.c                   |  8 ++++----\n exec.c                   | 14 +++++++-------\n tcg/optimize.c           |  8 ++++----\n tcg/tcg.c                |  2 +-\n tcg/tcg.h                |  3 ++-\n tcg/tci.c                |  2 +-\n tcg/tci/tcg-target.inc.c |  4 ++--\n vl.c                     |  2 +-\n 8 files changed, 22 insertions(+), 21 deletions(-)",
    "diff": "diff --git a/cpus.c b/cpus.c\nindex c9a624003a..784cee4848 100644\n--- a/cpus.c\n+++ b/cpus.c\n@@ -258,7 +258,7 @@ int64_t cpu_get_icount_raw(void)\n \n     if (cpu && cpu->running) {\n         if (!cpu->can_do_io) {\n-            fprintf(stderr, \"Bad icount read\\n\");\n+            error_report(\"Bad icount read\");\n             exit(1);\n         }\n         /* Take into account what has run */\n@@ -1113,7 +1113,7 @@ static void *qemu_kvm_cpu_thread_fn(void *arg)\n \n     r = kvm_init_vcpu(cpu);\n     if (r < 0) {\n-        fprintf(stderr, \"kvm_init_vcpu failed: %s\\n\", strerror(-r));\n+        error_report(\"kvm_init_vcpu failed: %s\", strerror(-r));\n         exit(1);\n     }\n \n@@ -1143,7 +1143,7 @@ static void *qemu_kvm_cpu_thread_fn(void *arg)\n static void *qemu_dummy_cpu_thread_fn(void *arg)\n {\n #ifdef _WIN32\n-    fprintf(stderr, \"qtest is not supported under Windows\\n\");\n+    error_report(\"qtest is not supported under Windows\");\n     exit(1);\n #else\n     CPUState *cpu = arg;\n@@ -1525,7 +1525,7 @@ static void qemu_cpu_kick_thread(CPUState *cpu)\n #else /* _WIN32 */\n     if (!qemu_cpu_is_self(cpu)) {\n         if (!QueueUserAPC(dummy_apc_func, cpu->hThread, 0)) {\n-            fprintf(stderr, \"%s: QueueUserAPC failed with error %lu\\n\",\n+            error_report(\"%s: QueueUserAPC failed with error %lu\",\n                     __func__, GetLastError());\n             exit(1);\n         }\ndiff --git a/exec.c b/exec.c\nindex 7a80460725..f71b714b10 100644\n--- a/exec.c\n+++ b/exec.c\n@@ -1045,7 +1045,7 @@ static RAMBlock *qemu_get_ram_block(ram_addr_t addr)\n         }\n     }\n \n-    fprintf(stderr, \"Bad ram offset %\" PRIx64 \"\\n\", (uint64_t)addr);\n+    error_report(\"Bad ram offset %\" PRIx64 \"\", (uint64_t)addr);\n     abort();\n \n found:\n@@ -1658,7 +1658,7 @@ static ram_addr_t find_ram_offset(ram_addr_t size)\n     }\n \n     if (offset == RAM_ADDR_MAX) {\n-        fprintf(stderr, \"Failed to find gap of requested size: %\" PRIu64 \"\\n\",\n+        error_report(\"Failed to find gap of requested size: %\" PRIu64 \"\",\n                 (uint64_t)size);\n         abort();\n     }\n@@ -1688,8 +1688,8 @@ static void qemu_ram_setup_dump(void *addr, ram_addr_t size)\n         ret = qemu_madvise(addr, size, QEMU_MADV_DONTDUMP);\n         if (ret) {\n             perror(\"qemu_madvise\");\n-            fprintf(stderr, \"madvise doesn't support MADV_DONTDUMP, \"\n-                            \"but dump_guest_core=off specified\\n\");\n+            error_report(\"madvise doesn't support MADV_DONTDUMP, \"\n+                            \"but dump_guest_core=off specified\");\n         }\n     }\n }\n@@ -1725,7 +1725,7 @@ void qemu_ram_set_idstr(RAMBlock *new_block, const char *name, DeviceState *dev)\n     RAMBLOCK_FOREACH(block) {\n         if (block != new_block &&\n             !strcmp(block->idstr, new_block->idstr)) {\n-            fprintf(stderr, \"RAMBlock \\\"%s\\\" already registered, abort!\\n\",\n+            error_report(\"RAMBlock \\\"%s\\\" already registered, abort!\",\n                     new_block->idstr);\n             abort();\n         }\n@@ -2153,8 +2153,8 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t length)\n                                 flags, -1, 0);\n                 }\n                 if (area != vaddr) {\n-                    fprintf(stderr, \"Could not remap addr: \"\n-                            RAM_ADDR_FMT \"@\" RAM_ADDR_FMT \"\\n\",\n+                    error_report(\"Could not remap addr: \"\n+                            RAM_ADDR_FMT \"@\" RAM_ADDR_FMT \"\",\n                             length, addr);\n                     exit(1);\n                 }\ndiff --git a/tcg/optimize.c b/tcg/optimize.c\nindex adfc56ce62..31b15b508d 100644\n--- a/tcg/optimize.c\n+++ b/tcg/optimize.c\n@@ -96,8 +96,8 @@ static TCGOpcode op_to_mov(TCGOpcode op)\n     case 64:\n         return INDEX_op_mov_i64;\n     default:\n-        fprintf(stderr, \"op_to_mov: unexpected return value of \"\n-                \"function op_bits.\\n\");\n+        error_report(\"op_to_mov: unexpected return value of \"\n+                \"function op_bits.\");\n         tcg_abort();\n     }\n }\n@@ -110,8 +110,8 @@ static TCGOpcode op_to_movi(TCGOpcode op)\n     case 64:\n         return INDEX_op_movi_i64;\n     default:\n-        fprintf(stderr, \"op_to_movi: unexpected return value of \"\n-                \"function op_bits.\\n\");\n+        error_report(\"op_to_movi: unexpected return value of \"\n+                \"function op_bits.\");\n         tcg_abort();\n     }\n }\ndiff --git a/tcg/tcg.c b/tcg/tcg.c\nindex dff9999bc6..2bbd20fc28 100644\n--- a/tcg/tcg.c\n+++ b/tcg/tcg.c\n@@ -673,7 +673,7 @@ static void tcg_temp_free_internal(int idx)\n #if defined(CONFIG_DEBUG_TCG)\n     s->temps_in_use--;\n     if (s->temps_in_use < 0) {\n-        fprintf(stderr, \"More temporaries freed than allocated!\\n\");\n+        error_report(\"More temporaries freed than allocated!\");\n     }\n #endif\n \ndiff --git a/tcg/tcg.h b/tcg/tcg.h\nindex 25662c36d4..1ac0f817bc 100644\n--- a/tcg/tcg.h\n+++ b/tcg/tcg.h\n@@ -29,6 +29,7 @@\n #include \"cpu.h\"\n #include \"exec/tb-context.h\"\n #include \"qemu/bitops.h\"\n+#include \"qemu/error-report.h\"\n #include \"tcg-mo.h\"\n #include \"tcg-target.h\"\n \n@@ -897,7 +898,7 @@ typedef struct TCGTargetOpDef {\n \n #define tcg_abort() \\\n do {\\\n-    fprintf(stderr, \"%s:%d: tcg fatal error\\n\", __FILE__, __LINE__);\\\n+    error_report(\"%s:%d: tcg fatal error\", __FILE__, __LINE__);\\\n     abort();\\\n } while (0)\n \ndiff --git a/tcg/tci.c b/tcg/tci.c\nindex f39bfb95c0..10b88f7308 100644\n--- a/tcg/tci.c\n+++ b/tcg/tci.c\n@@ -35,7 +35,7 @@\n /* Marker for missing code. */\n #define TODO() \\\n     do { \\\n-        fprintf(stderr, \"TODO %s:%u: %s()\\n\", \\\n+        error_report(\"TODO %s:%u: %s()\", \\\n                 __FILE__, __LINE__, __func__); \\\n         tcg_abort(); \\\n     } while (0)\ndiff --git a/tcg/tci/tcg-target.inc.c b/tcg/tci/tcg-target.inc.c\nindex 913c3802a3..2f4b56d3ba 100644\n--- a/tcg/tci/tcg-target.inc.c\n+++ b/tcg/tci/tcg-target.inc.c\n@@ -29,7 +29,7 @@\n /* Marker for missing code. */\n #define TODO() \\\n     do { \\\n-        fprintf(stderr, \"TODO %s:%u: %s()\\n\", \\\n+        error_report(\"TODO %s:%u: %s()\", \\\n                 __FILE__, __LINE__, __func__); \\\n         tcg_abort(); \\\n     } while (0)\n@@ -403,7 +403,7 @@ static const char *target_parse_constraint(TCGArgConstraint *ct,\n void tci_disas(uint8_t opc)\n {\n     const TCGOpDef *def = &tcg_op_defs[opc];\n-    fprintf(stderr, \"TCG %s %u, %u, %u\\n\",\n+    error_report(\"TCG %s %u, %u, %u\",\n             def->name, def->nb_oargs, def->nb_iargs, def->nb_cargs);\n }\n #endif\ndiff --git a/vl.c b/vl.c\nindex 4fd01fda91..c9d28bf79e 100644\n--- a/vl.c\n+++ b/vl.c\n@@ -2232,7 +2232,7 @@ static DisplayType select_display(const char *p)\n         display_opengl = 1;\n         display = DT_EGL;\n #else\n-        fprintf(stderr, \"egl support is disabled\\n\");\n+        error_report(\"egl support is disabled\");\n         exit(1);\n #endif\n     } else if (strstart(p, \"curses\", &opts)) {\n",
    "prefixes": [
        "v1",
        "7/8"
    ]
}