)]}'
{
  "log": [
    {
      "commit": "6331e806de41d98083f1bfa3661addfae4682c37",
      "tree": "fc63b42f79adfa429e514cf3b1231245d29222b7",
      "parents": [
        "60752a2eeab8cd0b344b27c67a47e30628962211"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 27 11:10:36 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 27 13:47:36 2015 -0700"
      },
      "message": "Implement scandirat and scandirat64.\n\nBug: http://b/12612339\nChange-Id: Id3b249a884fe08964b26a017ae9574961f0cb441\n"
    },
    {
      "commit": "5ca4a9e2da46db30ad6d8556b61679d138aaf88d",
      "tree": "fe013b8b41e1eb1388c5f76931f6f1c24331f905",
      "parents": [
        "9df70403d95f5cfe6824e38a9a6c35f9b9bbc76a"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Nov 06 19:55:09 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Nov 07 10:20:32 2014 -0800"
      },
      "message": "implement missing seekdir and telldir\n\nBug: 18266863\nChange-Id: I189ee949d4f7ccee099f3341e349cd969d25480f\n"
    },
    {
      "commit": "db1ea3474899ebbd783aba872d3005f95a816d0f",
      "tree": "b70fedd7d69098f5141dbbb09ef41851a61eec8d",
      "parents": [
        "3623d80675e5321b92c2d88a7b7ec6bd998d81d5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 17 18:42:49 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 18 15:39:24 2014 -0800"
      },
      "message": "Implement some of the missing LFS64 support.\n\nThis gives us:\n\n* \u003cdirent.h\u003e\n  struct dirent64\n  readdir64, readdir64_r, alphasort64, scandir64\n\n* \u003cfcntl.h\u003e\n  creat64, openat64, open64.\n\n* \u003csys/stat.h\u003e\n  struct stat64\n  fstat64, fstatat64, lstat64, stat64.\n\n* \u003csys/statvfs.h\u003e\n  struct statvfs64\n  statvfs64, fstatvfs64.\n\n* \u003csys/vfs.h\u003e\n  struct statfs64\n  statfs64, fstatfs64.\n\nThis also removes some of the incorrect #define hacks we\u0027ve had in the\npast (for stat64, for example, which we promised to clean up way back\nin bug 8472078).\n\nBug: 11865851\nBug: 8472078\nChange-Id: Ia46443521918519f2dfa64d4621027dfd13ac566\n"
    },
    {
      "commit": "5e3fc43ddeada547a155c6f561a12ff0b16e02d3",
      "tree": "9becf3a8442387f408f7f9ee73ab06ab7f8865d1",
      "parents": [
        "1fea0f258a45d918fe5ae8e9769f45c0348bd095"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 16:36:48 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 11 16:39:10 2013 -0800"
      },
      "message": "Fix __pthread_clone on ARM to set errno on failure.\n\nMIPS and x86 appear to have been correct already.\n\n(Also fix unit tests that ASSERT_EQ with errno so that the\narguments are in the retarded junit order.)\n\nBug: 3461078\nChange-Id: I2418ea98927b56e15b4ba9cfec97f5e7094c6291\n"
    },
    {
      "commit": "c30396f5f225e0b5a83a35432e2d82a7063cfdb9",
      "tree": "84df04116350a6895e76c26490bbcf499a3e3099",
      "parents": [
        "8f9a1eb108f22fc2ce7283ef184d909ec0ca1152"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Mon Oct 29 15:32:54 2012 +0100"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 29 07:44:27 2012 -0700"
      },
      "message": "libc: Fix alphasort() signature (and implementation).\n\nThe declaration for alphasort() in \u003cdirent.h\u003e used the deprecated:\n\n  int alphasort(const void*, const void*);\n\nwhile both Posix and GLibc use instead:\n\n  int alphasort(const struct dirent** a, const struct dirent** b);\n\nSee: http://pubs.opengroup.org/onlinepubs/9699919799/functions/alphasort.html\n\nThis patch does the following:\n\n- Update the declaration to match Posix/GLibc\n- Get rid of the upstream BSD code which isn\u0027t compatible with the new\n  signature.\n- Implement a new trivial alphasort() with the right signature, and\n  ensure that it uses strcoll() instead of strcmp().\n- Remove Bionic-specific #ifdef .. #else .. #endif block in\n  dirent_test.cpp which uses alphasort().\n\nEven through strcoll() currently uses strcmp(), this does the right\nthing in the case where we decide to update strcoll() to properly\nimplement locale-specific ordered comparison.\n\nChange-Id: I4fd45604d8a940aaf2eb0ecd7d73e2f11c9bca96\n"
    },
    {
      "commit": "063cfb2084ea4b12d3c85b2d2c44e888f0857eb4",
      "tree": "ec94389e76f6fd79d573c4a689b7c83c4711edd0",
      "parents": [
        "7193731ae6b8083bc7a5e5e468fb98b1dbcf3f3d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 25 20:55:23 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 26 16:42:06 2012 -0700"
      },
      "message": "Clean up the implementation of the \u003cdirent.h\u003e functions.\n\nChange-Id: I3c647cc9588525afc41fee90ee468d58cd13503a\n"
    }
  ]
}
