)]}'
{
  "commit": "7fb1cf1606c78c9d5b538f29176fd5a101726a9d",
  "tree": "69733bce4ee4a3c1ecd04f5b9a5f65ef1c50e106",
  "parents": [
    "59a92feedc6927e0e1ff87fdaccfb4dd42ad4c84"
  ],
  "author": {
    "name": "Eric Blake",
    "email": "eblake@redhat.com",
    "time": "Wed Nov 18 01:52:57 2015 -0700"
  },
  "committer": {
    "name": "Markus Armbruster",
    "email": "armbru@redhat.com",
    "time": "Thu Dec 17 08:21:28 2015 +0100"
  },
  "message": "qapi: Don\u0027t let implicit enum MAX member collide\n\nNow that we guarantee the user doesn\u0027t have any enum values\nbeginning with a single underscore, we can use that for our\nown purposes.  Renaming ENUM_MAX to ENUM__MAX makes it obvious\nthat the sentinel is generated.\n\nThis patch was mostly generated by applying a temporary patch:\n\n|diff --git a/scripts/qapi.py b/scripts/qapi.py\n|index e6d014b..b862ec9 100644\n|--- a/scripts/qapi.py\n|+++ b/scripts/qapi.py\n|@@ -1570,6 +1570,7 @@ const char *const %(c_name)s_lookup[] \u003d {\n|     max_index \u003d c_enum_const(name, \u0027MAX\u0027, prefix)\n|     ret +\u003d mcgen(\u0027\u0027\u0027\n|     [%(max_index)s] \u003d NULL,\n|+// %(max_index)s\n| };\n| \u0027\u0027\u0027,\n|                max_index\u003dmax_index)\n\nthen running:\n\n$ cat qapi-{types,event}.c tests/test-qapi-types.c |\n    sed -n \u0027s,^// \\(.*\\)MAX,s|\\1MAX|\\1_MAX|g,p\u0027 \u003e list\n$ git grep -l _MAX | xargs sed -i -f list\n\nThe only things not generated are the changes in scripts/qapi.py.\n\nRejecting enum members named \u0027MAX\u0027 is now useless, and will be dropped\nin the next patch.\n\nSigned-off-by: Eric Blake \u003ceblake@redhat.com\u003e\nMessage-Id: \u003c1447836791-369-23-git-send-email-eblake@redhat.com\u003e\nReviewed-by: Juan Quintela \u003cquintela@redhat.com\u003e\n[Rebased to current master, commit message tweaked]\nSigned-off-by: Markus Armbruster \u003carmbru@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6bcb7fac7ae16788a82e252ad0c68f45c4a4d81e",
      "old_mode": 33188,
      "old_path": "block/blkdebug.c",
      "new_id": "59c61eb6b2ac261563c8c81c43bec4c0c9dbfc43",
      "new_mode": 33188,
      "new_path": "block/blkdebug.c"
    },
    {
      "type": "modify",
      "old_id": "f689fdeaffcc14f3788906ee9f6106660ad6b78c",
      "old_mode": 33188,
      "old_path": "block/parallels.c",
      "new_id": "e4a56a5141bf271f846ea64467a816e870061f96",
      "new_mode": 33188,
      "new_path": "block/parallels.c"
    },
    {
      "type": "modify",
      "old_id": "88f56c886830d7908eccef639a789f582513ffcc",
      "old_mode": 33188,
      "old_path": "block/qcow2.c",
      "new_id": "5b59fa3d7f06a19b8cbb0db23900218bea7d312e",
      "new_mode": 33188,
      "new_path": "block/qcow2.c"
    },
    {
      "type": "modify",
      "old_id": "b9ba028d46c880b13d2fa01c7f8e8d2e6418947c",
      "old_mode": 33188,
      "old_path": "block/quorum.c",
      "new_id": "d162459bd95d922a99712e084afbc0d472df39b3",
      "new_mode": 33188,
      "new_path": "block/quorum.c"
    },
    {
      "type": "modify",
      "old_id": "d9162fd30647e89dcadb9ac4ea590ef9b4e7fe7d",
      "old_mode": 33188,
      "old_path": "block/raw-posix.c",
      "new_id": "ffeebe1a4cf051bde15f4266abcef8aca1aa01b4",
      "new_mode": 33188,
      "new_path": "block/raw-posix.c"
    },
    {
      "type": "modify",
      "old_id": "80932e8d8de46cbf415a5f04eec7e61edcdc4ad7",
      "old_mode": 33188,
      "old_path": "blockdev.c",
      "new_id": "13eaa770374c0159b4cb5b91b9eaf0b569590feb",
      "new_mode": 33188,
      "new_path": "blockdev.c"
    },
    {
      "type": "modify",
      "old_id": "32cc68fff1fe7584325a0fc0ffc06a4098b1a618",
      "old_mode": 33188,
      "old_path": "docs/qapi-code-gen.txt",
      "new_id": "2becba95b96541c55d1b0a6ab8dec9247bbc7c03",
      "new_mode": 33188,
      "new_path": "docs/qapi-code-gen.txt"
    },
    {
      "type": "modify",
      "old_id": "21406059c761d14b3aef4203e534013df9f907b3",
      "old_mode": 33188,
      "old_path": "hmp.c",
      "new_id": "1b402c4b74fab5f6ac2e1ffb4c3f77bc6cb0f321",
      "new_mode": 33188,
      "new_path": "hmp.c"
    },
    {
      "type": "modify",
      "old_id": "c9840e11da2ddfd77aa5ddd6ac49dfac38bf19ef",
      "old_mode": 33188,
      "old_path": "hw/char/escc.c",
      "new_id": "b35121461a1616a5955321c77291b8579886b179",
      "new_mode": 33188,
      "new_path": "hw/char/escc.c"
    },
    {
      "type": "modify",
      "old_id": "2e41efe1b438584cc41a2c22f3e57aef7d95e6da",
      "old_mode": 33188,
      "old_path": "hw/i386/pc_piix.c",
      "new_id": "abb377aab9e52a903672c089dbd96d019ff2e923",
      "new_mode": 33188,
      "new_path": "hw/i386/pc_piix.c"
    },
    {
      "type": "modify",
      "old_id": "133bc68faca6287a008120a41034a4fb3ae4d974",
      "old_mode": 33188,
      "old_path": "hw/i386/pc_q35.c",
      "new_id": "9a1206832b12aa2c37c953d62719c88c5d2f835e",
      "new_mode": 33188,
      "new_path": "hw/i386/pc_q35.c"
    },
    {
      "type": "modify",
      "old_id": "e39269fc7a5cd243c0a45ed60e40f9ecef99dc5e",
      "old_mode": 33188,
      "old_path": "hw/input/hid.c",
      "new_id": "12075c9f65334d8676d3faa634ece0c0edde5890",
      "new_mode": 33188,
      "new_path": "hw/input/hid.c"
    },
    {
      "type": "modify",
      "old_id": "3d6d4961dbe1ddc421c4cca049e374d50767c41b",
      "old_mode": 33188,
      "old_path": "hw/input/ps2.c",
      "new_id": "9096d2167b514e56a5752de60ada43561623955c",
      "new_mode": 33188,
      "new_path": "hw/input/ps2.c"
    },
    {
      "type": "modify",
      "old_id": "bdd479cd0a178e37e9ee3381a4ace4d7fa248d59",
      "old_mode": 33188,
      "old_path": "hw/input/virtio-input-hid.c",
      "new_id": "5d00a03b0d737616d4ad822e324f1def299eb487",
      "new_mode": 33188,
      "new_path": "hw/input/virtio-input-hid.c"
    },
    {
      "type": "modify",
      "old_id": "fd018b74a24d4e686efc276ee0c47182dbc9640d",
      "old_mode": 33188,
      "old_path": "include/migration/migration.h",
      "new_id": "d9494b895e4714aa54850d8c796326bb94cdedb9",
      "new_mode": 33188,
      "new_path": "include/migration/migration.h"
    },
    {
      "type": "modify",
      "old_id": "adc6b6f1c957d234ca1c4f2c33eb10a2b2ad26b6",
      "old_mode": 33188,
      "old_path": "migration/migration.c",
      "new_id": "c8424995757a5564cfc99e87008876246205136b",
      "new_mode": 33188,
      "new_path": "migration/migration.c"
    },
    {
      "type": "modify",
      "old_id": "9a35d7265fea08c89950b10baa1b421a50dbd49c",
      "old_mode": 33188,
      "old_path": "monitor.c",
      "new_id": "5546f8abc9c548daa2fade259977ae69d1988581",
      "new_mode": 33188,
      "new_path": "monitor.c"
    },
    {
      "type": "modify",
      "old_id": "ade6051846c69951b3f5ca99c4dc9d0d70a2bba9",
      "old_mode": 33188,
      "old_path": "net/net.c",
      "new_id": "87dd3568dc2d8bf2766462d1386eceb86d457ec3",
      "new_mode": 33188,
      "new_path": "net/net.c"
    },
    {
      "type": "modify",
      "old_id": "3afec76504d279e201d45774730f65fea69182ee",
      "old_mode": 33188,
      "old_path": "qemu-nbd.c",
      "new_id": "65dc30c189b1c6e534f20f959051302cf91accf5",
      "new_mode": 33188,
      "new_path": "qemu-nbd.c"
    },
    {
      "type": "modify",
      "old_id": "98798955a16ced3fa3257d6d11e51411b0289977",
      "old_mode": 33188,
      "old_path": "replay/replay-input.c",
      "new_id": "bc15f592dc8a0dc74029d68e702ca29aab00106b",
      "new_mode": 33188,
      "new_path": "replay/replay-input.c"
    },
    {
      "type": "modify",
      "old_id": "3e5caa81938b22278072434cab96a581fad1deeb",
      "old_mode": 33188,
      "old_path": "scripts/qapi.py",
      "new_id": "9c541e0312cca989fd912e0413d276021e654d67",
      "new_mode": 33188,
      "new_path": "scripts/qapi.py"
    },
    {
      "type": "modify",
      "old_id": "0d0c85989a3db88ade2da5661ee71630b4ca63d7",
      "old_mode": 33188,
      "old_path": "tests/test-qmp-output-visitor.c",
      "new_id": "4196e66ddedc98ed8da828bb8236058b237ec462",
      "new_mode": 33188,
      "new_path": "tests/test-qmp-output-visitor.c"
    },
    {
      "type": "modify",
      "old_id": "fd5e67be6408bdafd533985b650d05c79e2d1276",
      "old_mode": 33188,
      "old_path": "tests/test-string-output-visitor.c",
      "new_id": "95852523b433d52d74382a68cc0ac372bfc622f3",
      "new_mode": 33188,
      "new_path": "tests/test-string-output-visitor.c"
    },
    {
      "type": "modify",
      "old_id": "f2c59d1f71a27d6fa1ac71b2f3b24fc3b73ebb05",
      "old_mode": 33188,
      "old_path": "tpm.c",
      "new_id": "0a3e3d503238b9121d12f7fa1eb9a2ce709bf50a",
      "new_mode": 33188,
      "new_path": "tpm.c"
    },
    {
      "type": "modify",
      "old_id": "d76b9427326ec9014b5b6d6b121811a593d6b924",
      "old_mode": 33188,
      "old_path": "ui/cocoa.m",
      "new_id": "7477d5896cb71ba9ac08781ab59169d7e2c6820a",
      "new_mode": 33188,
      "new_path": "ui/cocoa.m"
    },
    {
      "type": "modify",
      "old_id": "745c354f538ffbc2f38724a08d0e64ef292de166",
      "old_mode": 33188,
      "old_path": "ui/console.c",
      "new_id": "27a2cdc00973e8b19f6d4195474dcbd01ba92f65",
      "new_mode": 33188,
      "new_path": "ui/console.c"
    },
    {
      "type": "modify",
      "old_id": "d36be4b60db615c248268f479ab71b0592fcfdb8",
      "old_mode": 33188,
      "old_path": "ui/input-keymap.c",
      "new_id": "63d71d2632d9770c064a749df5a2fd32411285d2",
      "new_mode": 33188,
      "new_path": "ui/input-keymap.c"
    },
    {
      "type": "modify",
      "old_id": "e0a39f08a500bb491f4e9f184d826a6486855939",
      "old_mode": 33188,
      "old_path": "ui/input-legacy.c",
      "new_id": "3bc29bd57bc5ebddd8c5795036c8910a600abd1c",
      "new_mode": 33188,
      "new_path": "ui/input-legacy.c"
    },
    {
      "type": "modify",
      "old_id": "a0f9873f59ec8c1c8e7fce56f144cb146f31842b",
      "old_mode": 33188,
      "old_path": "ui/input.c",
      "new_id": "006667b3d5db95f045d9f2f814c93ed9e57c5418",
      "new_mode": 33188,
      "new_path": "ui/input.c"
    },
    {
      "type": "modify",
      "old_id": "570cb99f08e74a9c1c532aaea6072c51da79543c",
      "old_mode": 33188,
      "old_path": "ui/sdl.c",
      "new_id": "f4aa0f2567bf2c0a396cecd9c0cdcc6d523c2643",
      "new_mode": 33188,
      "new_path": "ui/sdl.c"
    },
    {
      "type": "modify",
      "old_id": "5cb75aa364090aa5f1c90d3c8cea422c3c1ce548",
      "old_mode": 33188,
      "old_path": "ui/sdl2.c",
      "new_id": "4be992a1956ec1ae3e2e17c6ce66dbc672f88fc7",
      "new_mode": 33188,
      "new_path": "ui/sdl2.c"
    },
    {
      "type": "modify",
      "old_id": "c342e0dcfb035163e3d67c5b057fd4d230f7f8e1",
      "old_mode": 33188,
      "old_path": "ui/spice-input.c",
      "new_id": "96f19aac3ed5a970eef70a11d12eb0dc4aaa33e6",
      "new_mode": 33188,
      "new_path": "ui/spice-input.c"
    },
    {
      "type": "modify",
      "old_id": "cbe4d3395cfa768369d1680b63bae43e107aa9aa",
      "old_mode": 33188,
      "old_path": "ui/vnc.c",
      "new_id": "fe7ff26abfe63e563c94fcb642298b5e6a797d59",
      "new_mode": 33188,
      "new_path": "ui/vnc.c"
    },
    {
      "type": "modify",
      "old_id": "4211ff1ffde1a0040d18c577bb25876d09f70063",
      "old_mode": 33188,
      "old_path": "vl.c",
      "new_id": "5aaea77b0a29c46bcb8d03bd64a45fd09cf988cd",
      "new_mode": 33188,
      "new_path": "vl.c"
    }
  ]
}
