)]}'
{
  "log": [
    {
      "commit": "416d7ddaff0946d480b6aa945a741b3eeaca5569",
      "tree": "d3fa6382f7d6d26ab7e3ecb95a715328e5f50b5e",
      "parents": [
        "f4e721dd519db89c504c8944763811a3df956b32"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 18 17:28:32 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 28 16:37:09 2014 -0700"
      },
      "message": "Add GNU-compatible strerror_r.\n\nWe already had the POSIX strerror_r, but some third-party code defines\n_GNU_SOURCE and expects to get the GNU strerror_r instead.\n\nThis exposed a bug in the libc internal logging functions where unlike\ntheir standard brethren they wouldn\u0027t return the number of bytes they\u0027d\nhave liked to have written.\n\nBug: 16243479\nChange-Id: I1745752ccbdc569646d34f5071f6df2be066d5f4\n"
    },
    {
      "commit": "f1e83cc34a58761fc7bc5178c6f283db85d6057a",
      "tree": "bfdd6078020a74f855f320fbcb87f60de7bd47e6",
      "parents": [
        "1a918d9be83013cdc8e194edf35b5295eba4ab1c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 25 20:31:47 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 28 09:43:21 2014 -0700"
      },
      "message": "Use vsnprintf(3) in syslog(3).\n\nIt seemed like a clever trick to use the internal log message formatting\ncode in syslog(3), but on reflection that means you can\u0027t (for example)\nformat floating point numbers. This patch switches us over to using good\nold vsnprintf(3), even though that requires us to jump through a few hoops.\n\nThere\u0027s no obvious way to unit test this, so I wrote a little program and\nran that.\n\n(cherry-pick of b1b60c30bf321c0fc02264b953b5c16c49d34457.)\n\nBug: 14292866\nChange-Id: I9c83500ba9cbb209b6f496067a91bf69434eeef5\n"
    },
    {
      "commit": "3ad8ecb64e9dd5614169232b84a93eb3b8aa32d7",
      "tree": "f756f624e7cc5bb019465444881deb6ffbc2dfe6",
      "parents": [
        "1fb90a8aa0086f7e4f7960a5b916b8605a9a3c96"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 21 16:35:24 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 21 16:56:48 2014 -0700"
      },
      "message": "Rewrite syslog(3) to use Android logging.\n\nSince we don\u0027t have syslogd on Android and you can\u0027t run one on a non-rooted\ndevice, it\u0027s more useful if syslog output just goes to the regular Android\nlogging system.\n\nBug: 14292866\nChange-Id: Icee7f088b97f88ccbdaf471b98cbac7f19f9210a\n"
    },
    {
      "commit": "f04935c85e0b466f0d30d2cd4c0fa2fff62e7d6d",
      "tree": "8f1c6af75517892648f49adad9d4d5d44c20f49c",
      "parents": [
        "e163a3986aa7d1c67fe3274eb9204812be0a6245"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Dec 20 18:43:21 2013 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 06 20:12:21 2014 -0800"
      },
      "message": "Make sure that the same tests are on all platforms.\n\nIn order to be able to generate a list of tests for cts, the same set of\ntests must exist across all platforms. This CL adds empty tests where a\ntest was conditionally compiled out.\n\nThis CL creates a single library libBionicTests that includes all of\nthe tests found in bionic-unit-tests-static.\n\nAlso fix a few missing include files in some test files.\n\nTested by running and compiling the tests for every platform and\nverifying the same number of tests are on each platform.\n\nChange-Id: I9989d4bfebb0f9c409a0ce7e87169299eac605a2\n"
    },
    {
      "commit": "925753aa1175ae58b24bbfe2d9e38eb4fe3f579d",
      "tree": "135216d664f4023020f12df45768f55dbfa399bf",
      "parents": [
        "e9797ac6756481c0c219eb6b99f9062fd6dfb770"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 18 13:17:18 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 18 13:17:18 2013 -0700"
      },
      "message": "Fix some test assumptions that are wrong for __LP64__.\n\nChange-Id: Ic79cd5858ceb611640a76bd03f3da4925d3150d9\n"
    },
    {
      "commit": "6c7b3cb056509fd8756bc012878a499f6f102114",
      "tree": "1a3c40a59049e259c3c5c226d4f1359089f6f8ca",
      "parents": [
        "eda2679e30b997d036e0ec572cda054adc2ac3a6"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Oct 11 16:03:21 2013 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Oct 11 16:20:08 2013 -0700"
      },
      "message": "Fix clang warnings in bionic.\n\nThis fixes a few diverse issues that clang warns on in bionic. First,\nit specifies the appropriate converted types for format specifiers.\nThe \"h\" and \"hh\" modifiers specify that the user is passing a short or\nchar respectively. We were passing int deliberately in both cases and\nrelying on the compiler to implicitly downcast to the smaller type.\nWe also remove the non-standard \"d\" suffix from our double-precision\nfloating point constant. This is an extension for gcc that clang does\nnot implement. The third fix is to mark the c1 variable as unused,\nsince it truly is neither read nor written.\n\nChange-Id: I4793352b9d3e58f1f4cac9e7581ef4b2a70b43c7\n"
    },
    {
      "commit": "8f2a5a0b40fc82126c691d5c30131d908772aab7",
      "tree": "0b29a5dc82395c076387edb5af9ca271a91264c0",
      "parents": [
        "e23ed8c6441389a79c6504295184f7249e01a197"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 15 15:30:25 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 15 16:12:58 2013 -0700"
      },
      "message": "Clean up internal libc logging.\n\nWe only need one logging API, and I prefer the one that does no\nallocation and is thus safe to use in any context.\n\nAlso use O_CLOEXEC when opening the /dev/log files.\n\nMove everything logging-related into one header file.\n\nChange-Id: Ic1e3ea8e9b910dc29df351bff6c0aa4db26fbb58\n"
    },
    {
      "commit": "e23ed8c6441389a79c6504295184f7249e01a197",
      "tree": "8d10d7ccfc20e0a212c60b7628bb4ae709447d37",
      "parents": [],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 15 18:26:49 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 15 18:26:49 2013 +0000"
      },
      "message": "Merge \"Remove useless workaround for HTC RIL bugs.\""
    }
  ]
}
