)]}'
{
  "log": [
    {
      "commit": "208898ee776117f42815c2fcb15903b2781bf0aa",
      "tree": "ad3cf092397fa7e398e37c65312e4675016a1da3",
      "parents": [
        "11f3d5a4319e6e37e5280cf187b3d173e1ac0adb"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:24:08 2012 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:24:08 2012 +0100"
      },
      "message": "libc: remove private declarations from \u003ctime.h\u003e and \u003cresolv.h\u003e\n\nThis patch is used to remove private C library declarations from the\npublic headers (that are exported to the NDK). It should *only* be\nsubmitted after all other patches modifying the users of said\nprivate functions have been submitted to the tree, to avoid\nbreakages.\n\nChange-Id: I0a5e3014f8e3ac9ed8df86a5cdae506337c23252\n"
    },
    {
      "commit": "cd9f1f0b2726fbaac75b47231eb80a91841231f9",
      "tree": "d367dd243c481bf169de36f327964d5191d619be",
      "parents": [
        "b489666086265eb756f11fd224137c7e3a03a707",
        "ac56f5ca2f4c54ddbd37b033f9465d89542c2cbe"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@android.com",
        "time": "Thu Jun 23 06:13:53 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 23 06:13:53 2011 -0700"
      },
      "message": "am ac56f5ca: Merge \"strftime: Use snprintf() instead of sprintf()\"\n\n* commit \u0027ac56f5ca2f4c54ddbd37b033f9465d89542c2cbe\u0027:\n  strftime: Use snprintf() instead of sprintf()\n"
    },
    {
      "commit": "e6cff939e603e445c2576958c3777d7b7f5d84fa",
      "tree": "20c05656625ed249d451ef2b730b1c90575a9464",
      "parents": [
        "4d9b75a9b08c19cef81b22f889edba61257fb356"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jim.huang@linaro.org",
        "time": "Thu Jun 16 22:35:16 2011 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Thu Jun 23 11:10:32 2011 +0800"
      },
      "message": "strftime: Use snprintf() instead of sprintf()\n\nChange-Id: I112ac012894eddc96e5f3e77cb87bb300596e3ce\nSigned-off-by: Jim Huang \u003cjserv@0xlab.org\u003e\n"
    },
    {
      "commit": "b138e4f90ffec34b4cc903cffbe18f9ea2d903d4",
      "tree": "75296497af7ac3e9b15f2626f5d1d0e41d1c2b95",
      "parents": [
        "015610e64eb728dd031c6b1730b70460d9d298b8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Jan 09 10:33:23 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 11 09:33:04 2011 -0800"
      },
      "message": "Bug 3330205 Thread safe strptime implementation\n\nChange-Id: I03e72b0253a7a2e015455ab81dbf155ed1e574d2\n"
    },
    {
      "commit": "6481b91520150e9664a3c4abc5d2aebdce422f93",
      "tree": "8fadb7aadcc6002a7053da60d50b49704423a5f9",
      "parents": [
        "23d24394e72715ddf580726655c8ba3fbcf11bfe"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Dec 06 12:23:16 2010 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Dec 06 12:25:52 2010 +0100"
      },
      "message": "\u003ctime.h\u003e: Add timegm(), timelocal() and others.\n\nAdd timegm(), timelocal(), time2posix() and posix2time() to the\nC library.\n\nChange-Id: I34d5771ed83dd994870a5ca58a511d01898b1ffb\n"
    },
    {
      "commit": "50ace4fec5e8cb5afcbc656a4556fa528adfd760",
      "tree": "04647e039a457f69ba48a8301bebdd605fda7fca",
      "parents": [
        "6a9b888d7c4b246f6f66360789c72b754ff85021"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 16 16:36:41 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 22 17:51:41 2010 -0700"
      },
      "message": "Remove compiler warnings when building Bionic.\n\nAlso add missing declarations to misc. functions.\nFix clearerr() implementation (previous was broken).\nHandle feature test macros like _POSIX_C_SOURCE properly.\n\nChange-Id: Icdc973a6b9d550a166fc2545f727ea837fe800c4\n"
    },
    {
      "commit": "2093d350be21ff086f9e145404877941b9a42c5c",
      "tree": "7fcb6a68bb996c3c62d0dfdf54a08b8e50adb970",
      "parents": [
        "b4423ff7dfd8c97688cbf87ba8ce22f5b54fa89c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 09 17:41:59 2009 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Sep 09 17:45:00 2009 -0700"
      },
      "message": "Fix an infinite loop in time2sub.\n\nThe problem is that time_t is signed, and the original code relied on the\nfact that (X + c \u003c X) in case of overflow for c \u003e\u003d 0. Unfortunately, this\ncondition is only guaranteed by the standard for unsigned arithmetic, and\nthe gcc 4.4.0 optimizer did completely remove the corresponding test from\nthe code. This resulted in a missing boundary check, and an infinite loop.\n\nThe problem is solved by testing explicitely for TIME_T_MIN and TIME_T_MAX\nin the loop that uses this.\n\nAlso fix increment_overflow and long_increment_overflow which were buggy\nfor exactly the same reasons.\n\nNote: a similar fix is needed for system/core/libcutils\n"
    },
    {
      "commit": "d5f72afd4984744a7198c8ec80341a6d2602d02f",
      "tree": "2673f88232054cb5bbb97ef2acaad39e07f96948",
      "parents": [
        "8b09aa39c3ab7bf17384082728001550c072e8c7"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Aug 03 15:43:18 2009 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Aug 03 15:43:18 2009 -0700"
      },
      "message": "Fix strftime to use localized month names.\n\nIt was using the default locale (capital L) instead of the\ncurrent locale (lowercase l).\n\nBug 2030864\n"
    },
    {
      "commit": "a48fa7f4deb6ba703e1da55143771476d4e668ce",
      "tree": "ef345673adaec0cc65724ca430af240244e225c8",
      "parents": [
        "a0508577c9b1fcf89d120ece88fe2080463d4d4d"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Fri May 15 13:33:20 2009 -0700"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Fri May 15 13:46:55 2009 -0700"
      },
      "message": "Add standalone_months field to libc strftime().\n\nReplicate my change 722a5c0462f38827f4097065bfc3826b9e0e9fb4 into\nbionic in an attempt to fix the build.\n"
    },
    {
      "commit": "edbe7fc97bab7ff0684053d1be564330689bf3ad",
      "tree": "271db0992a091d68f17f073ba9573c4698f97ce1",
      "parents": [
        "78bf5fc677a2d25d50598b01781eafacdb5e6afe"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 22:20:24 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 22:20:24 2009 -0700"
      },
      "message": "auto import //branches/master/...@140412\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
