)]}'
{
  "commit": "4d9310f427b477a126f6f2006c3a73b9764948b6",
  "tree": "c950bb3cf756c468e9feb8cd749c1978a3e2d6df",
  "parents": [
    "c8f3f17cf1015d6621f79aa6a88280539621a108"
  ],
  "author": {
    "name": "Daniel P. Berrange",
    "email": "berrange@redhat.com",
    "time": "Tue Sep 22 15:13:26 2015 +0100"
  },
  "committer": {
    "name": "Stefan Weil",
    "email": "sw@weilnetz.de",
    "time": "Thu Sep 24 21:13:49 2015 +0200"
  },
  "message": "oslib-win32: only provide localtime_r/gmtime_r if missing\n\nThe oslib-win32 file currently provides a localtime_r and\ngmtime_r replacement unconditionally. Some versions of\nMingw-w64 would provide crude macros for localtime_r/gmtime_r\nwhich QEMU takes care to disable. Latest versions of Mingw-w64\nnow provide actual functions for localtime_r/gmtime_r, but\nwith a twist that you have to include unistd.h or pthread.h\nbefore including time.h.  By luck some files in QEMU have\nsuch an include order, resulting in compile errors:\n\n  CC    util/osdep.o\nIn file included from include/qemu-common.h:48:0,\n                 from util/osdep.c:48:\ninclude/sysemu/os-win32.h:77:12: error: redundant redeclaration of \u0027gmtime_r\u0027 [-Werror\u003dredundant-decls]\n struct tm *gmtime_r(const time_t *timep, struct tm *result);\n            ^\nIn file included from include/qemu-common.h:35:0,\n                 from util/osdep.c:48:\n/usr/i686-w64-mingw32/sys-root/mingw/include/time.h:272:107: note: previous definition of \u0027gmtime_r\u0027 was here\nIn file included from include/qemu-common.h:48:0,\n                 from util/osdep.c:48:\ninclude/sysemu/os-win32.h:79:12: error: redundant redeclaration of \u0027localtime_r\u0027 [-Werror\u003dredundant-decls]\n struct tm *localtime_r(const time_t *timep, struct tm *result);\n            ^\nIn file included from include/qemu-common.h:35:0,\n                 from util/osdep.c:48:\n/usr/i686-w64-mingw32/sys-root/mingw/include/time.h:269:107: note: previous definition of \u0027localtime_r\u0027 was here\n\nThis change adds a configure test to see if localtime_r\nexits, and only enables the QEMU impl if missing. We also\nre-arrange qemu-common.h try attempt to guarantee that all\nsource files get unistd.h before time.h and thus see the\nlocaltime_r/gmtime_r defs.\n\n[sw: Use \"official\" spellings for Mingw-w64, MinGW in comments.]\n[sw: Terminate sentences with a dot in comments.]\n\nSigned-off-by: Daniel P. Berrange \u003cberrange@redhat.com\u003e\nReviewed-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Stefan Weil \u003csw@weilnetz.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "29009ee6d885e8fd09922e34e9fcd069d1295da4",
      "old_mode": 33261,
      "old_path": "configure",
      "new_id": "f14454e691b361d41e6a86eb1d662b6309386690",
      "new_mode": 33261,
      "new_path": "configure"
    },
    {
      "type": "modify",
      "old_id": "ab3c8766b463744ea0584c71081bddb808843477",
      "old_mode": 33188,
      "old_path": "include/qemu/osdep.h",
      "new_id": "ef21efb6832a7674163733f3c8ef4cf0d742deae",
      "new_mode": 33188,
      "new_path": "include/qemu/osdep.h"
    },
    {
      "type": "modify",
      "old_id": "706d85a98e24f48aa763e9c448ac128ec9f1ee76",
      "old_mode": 33188,
      "old_path": "include/sysemu/os-win32.h",
      "new_id": "13dcef6b4c99a5cc2834830dae9756293d29dcb8",
      "new_mode": 33188,
      "new_path": "include/sysemu/os-win32.h"
    },
    {
      "type": "modify",
      "old_id": "730a6707a09de6a1cb9e0d95d3cb74218e61ed10",
      "old_mode": 33188,
      "old_path": "util/oslib-win32.c",
      "new_id": "08f5a9cda2bb6e58f683d2afeac6bc115060f2d4",
      "new_mode": 33188,
      "new_path": "util/oslib-win32.c"
    }
  ]
}
