)]}'
{
  "commit": "22fd2d3e4f75a2596ccdfdcbdfd505c9c60bf346",
  "tree": "fc9072d2d42a3da4b5ad5145b14b3f738582288d",
  "parents": [
    "52131292c069b74f4b5f3c786ff66ff6e82b0e69"
  ],
  "author": {
    "name": "Stefani Seibold",
    "email": "stefani@seibold.net",
    "time": "Fri Mar 05 13:43:52 2010 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Sat Mar 06 11:26:44 2010 -0800"
  },
  "message": "checkpatch.pl: add union and struct to the exceptions list\n\nHere is a small code snippet, which will be complained about by\ncheckpatch.pl:\n\n#define __STRUCT_KFIFO_COMMON(recsize, ptrtype) \\\n\tunion { \\\n\t\tstruct { \\\n\t\t\tunsigned int\tin; \\\n\t\t\tunsigned int\tout; \\\n\t\t}; \\\n\t\tchar\t\trectype[recsize]; \\\n\t\tptrtype\t\t*ptr; \\\n\t\tconst ptrtype\t*ptr_const; \\\n\t};\n\nThis construct is legal and safe, so checkpatch.pl should accept this.  It\nshould be also true for struct defined in a macro.\n\nAdd the `struct\u0027 and `union\u0027 keywords to the exceptions list of the\ncheckpatch.pl script, to prevent error message \"Macros with multiple\nstatements should be enclosed in a do - while loop\".  Otherwise it is not\npossible to build a struct or union with a macro.\n\nSigned-off-by: Stefani Seibold \u003cstefani@seibold.net\u003e\nCc: Andy Whitcroft \u003capw@shadowen.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1530dbf1dab51335ed7e9055e0a6abc25ef8249b",
      "old_mode": 33261,
      "old_path": "scripts/checkpatch.pl",
      "new_id": "623d07b977278b465843d8a42188cdb5f5d5fe7b",
      "new_mode": 33261,
      "new_path": "scripts/checkpatch.pl"
    }
  ]
}
