get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 3667,
    "url": "http://patches.dpdk.org/api/patches/3667/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1424770891-19243-1-git-send-email-david.marchand@6wind.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1424770891-19243-1-git-send-email-david.marchand@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1424770891-19243-1-git-send-email-david.marchand@6wind.com",
    "date": "2015-02-24T09:41:31",
    "name": "[dpdk-dev] devargs: restore empty devargs as \"\"",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "046a8961ecd808a3c0429ff60e25f41acecd6286",
    "submitter": {
        "id": 3,
        "url": "http://patches.dpdk.org/api/people/3/?format=api",
        "name": "David Marchand",
        "email": "david.marchand@6wind.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1424770891-19243-1-git-send-email-david.marchand@6wind.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/3667/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/3667/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id F30A7ADB5;\n\tTue, 24 Feb 2015 10:41:38 +0100 (CET)",
            "from mail-wi0-f180.google.com (mail-wi0-f180.google.com\n\t[209.85.212.180]) by dpdk.org (Postfix) with ESMTP id 91F23ADB2\n\tfor <dev@dpdk.org>; Tue, 24 Feb 2015 10:41:37 +0100 (CET)",
            "by mail-wi0-f180.google.com with SMTP id h11so23664188wiw.1\n\tfor <dev@dpdk.org>; Tue, 24 Feb 2015 01:41:37 -0800 (PST)",
            "from alcyon.dev.6wind.com (6wind.net2.nerim.net. [213.41.180.237])\n\tby mx.google.com with ESMTPSA id\n\tdn1sm19709876wid.11.2015.02.24.01.41.35\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tTue, 24 Feb 2015 01:41:36 -0800 (PST)"
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=dB09gfrG1HU2Gnd4YOH4ZIjNFGTpfsFNZ6h+siSEvCQ=;\n\tb=IjqOqsFHTMpGWDU/n1MNE67JpCNx5PbLNFtuo9MUhvStKC5c9VX5ECbRHKZSQSZ9Z5\n\txHj/RCr4lxDhGAJ0CBzOR/f3QEo5aGsaLvCk1TK063jLIBGkv3JIbabt8WEDig6V9iBd\n\taxokfa/bye8DIrgxsrgo0CXxG2FI9lt8bZ1SMiDapRbMgxrXFiwwi5N5QUq/nfFDOHw8\n\tH5uWI/UbMzFCI7YcTvxl6VvtuX4wAQHj62inpL7jnSgWv2HOPXP8mRcDS7BhfswS6h78\n\t5CidvkuNZzF7v4Bg/qc1vmvQO/yBjgKN98ULj3zW1T/fE5Buuk7vFGDU3R2IjabJGFKU\n\tKqXg==",
        "X-Gm-Message-State": "ALoCoQkmBj3v4OrOHEgrsn9fZa7XRUzwsghYwAsEPqIUhNWUERG23c+HPkoWPQ/FdLiHGhIzJlaR",
        "X-Received": "by 10.180.21.133 with SMTP id v5mr28966571wie.27.1424770897292; \n\tTue, 24 Feb 2015 01:41:37 -0800 (PST)",
        "From": "David Marchand <david.marchand@6wind.com>",
        "To": "dev@dpdk.org",
        "Date": "Tue, 24 Feb 2015 10:41:31 +0100",
        "Message-Id": "<1424770891-19243-1-git-send-email-david.marchand@6wind.com>",
        "X-Mailer": "git-send-email 1.7.10.4",
        "In-Reply-To": "<54E5ED96.9040402@igel.co.jp>",
        "References": "<54E5ED96.9040402@igel.co.jp>",
        "Subject": "[dpdk-dev] [PATCH] devargs: restore empty devargs as \"\"",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Following commit c07691ae1089, an implicit change has been done in the devargs\napi.\nThis triggers problem in virtual pmds that did not check for parameters validity\nas it was implicitely valid.\n\nFix this by restoring the empty argument as \"\" and add a note in the api.\nRestore associated tests.\n\nFixes: c07691ae1089 (\"devargs: remove limit on parameters length\")\nReported-by: Tetsuya Mukawa <mukawa@igel.co.jp>\nSigned-off-by: David Marchand <david.marchand@6wind.com>\n---\n app/test/test_devargs.c                     |    2 +-\n lib/librte_eal/common/eal_common_devargs.c  |   11 +++++++----\n lib/librte_eal/common/include/rte_devargs.h |    2 +-\n 3 files changed, 9 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/app/test/test_devargs.c b/app/test/test_devargs.c\nindex 08fb781..f7fc59c 100644\n--- a/app/test/test_devargs.c\n+++ b/app/test/test_devargs.c\n@@ -107,7 +107,7 @@ test_devargs(void)\n \t\tdevargs->pci.addr.devid != 0 ||\n \t\tdevargs->pci.addr.function != 1)\n \t\tgoto fail;\n-\tif (devargs->args)\n+\tif (!devargs->args || strcmp(devargs->args, \"\") != 0)\n \t\tgoto fail;\n \tfree_devargs_list();\n \ndiff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c\nindex 3aace08..eadd719 100644\n--- a/lib/librte_eal/common/eal_common_devargs.c\n+++ b/lib/librte_eal/common/eal_common_devargs.c\n@@ -73,10 +73,13 @@ rte_eal_devargs_add(enum rte_devtype devtype, const char *devargs_str)\n \tif (sep != NULL) {\n \t\tsep[0] = '\\0';\n \t\tdevargs->args = strdup(sep + 1);\n-\t\tif (devargs->args == NULL) {\n-\t\t\tRTE_LOG(ERR, EAL, \"cannot allocate for devargs args\\n\");\n-\t\t\tgoto fail;\n-\t\t}\n+\t} else {\n+\t\tdevargs->args = strdup(\"\");\n+\t}\n+\n+\tif (devargs->args == NULL) {\n+\t\tRTE_LOG(ERR, EAL, \"cannot allocate for devargs args\\n\");\n+\t\tgoto fail;\n \t}\n \n \tswitch (devargs->type) {\ndiff --git a/lib/librte_eal/common/include/rte_devargs.h b/lib/librte_eal/common/include/rte_devargs.h\nindex 996e180..6834333 100644\n--- a/lib/librte_eal/common/include/rte_devargs.h\n+++ b/lib/librte_eal/common/include/rte_devargs.h\n@@ -88,7 +88,7 @@ struct rte_devargs {\n \t\t\tchar drv_name[32];\n \t\t} virtual;\n \t};\n-\t/** Arguments string as given by user. */\n+\t/** Arguments string as given by user or \"\" for no argument. */\n \tchar *args;\n };\n \n",
    "prefixes": [
        "dpdk-dev"
    ]
}