)]}'
{
  "commit": "4b7b048417d8ff92c993da9dbb3d9df20455fc1d",
  "tree": "d2ab465392a10b105a71b88c6447694eca67c73f",
  "parents": [
    "aa0bea7bc1927b737f46c41ceb1f1508c9a3ff11"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Mar 30 00:42:17 2016 -0400"
  },
  "committer": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Mar 30 14:46:42 2016 +0000"
  },
  "message": "Spell __attribute__((format(printf, ...))) with more underscores.\n\nThey may be spelled with or without underscores. Alas, a lot of C code (adb,\ncURL) seems to find it a popular pasttime to #define printf *before* including\nexternal headers. This is completely nonsense and invalid, but working around\nit is easy and is what we (and OpenSSL) were doing before\n061332f21643a910941c32cbfc40e577c380e342.\n\nI\u0027ll be sending a patch to cURL tomorrow to make them at least do their macro\ntrickery after external #includes for sanity. adb\u0027s sysdeps.h is a lot longer\nand consistently #included first so I\u0027ll probably leave that be for lack of\ntime.\n\nChange-Id: I03a0a253f2c902eb45f45faace1e5c5df4335ebf\nReviewed-on: https://boringssl-review.googlesource.com/7605\nReviewed-by: Steven Valdez \u003csvaldez@google.com\u003e\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0379b74ac115874095826963b7b3982c51a333cf",
      "old_mode": 33188,
      "old_path": "include/openssl/base.h",
      "new_id": "a41e13b34424b72057f80c97d00de3c7b4897f0a",
      "new_mode": 33188,
      "new_path": "include/openssl/base.h"
    }
  ]
}
