)]}'
{
  "commit": "469e8e419bbe83d3bf10db5e812c58a409df9737",
  "tree": "5a2184ce514660420fe17c9a5ee419033a74e4e1",
  "parents": [
    "4517417c018c12de387207e51e0f3728c5164e50"
  ],
  "author": {
    "name": "Pali Rohár",
    "email": "pali.rohar@gmail.com",
    "time": "Wed Sep 18 21:37:24 2024 +0200"
  },
  "committer": {
    "name": "Martin Storsjö",
    "email": "martin@martin.st",
    "time": "Fri Sep 27 15:01:17 2024 +0300"
  },
  "message": "crt: Provide __daylight(), __dstbias(), __timezone() and __tzname() functions for pre-msvcr80 builds\n\nThese functions return pointer to global variables with same name but\nwithout the first leading underscore. These functions are available also\nunder name with leading \"__p\" prefix.\n\nFunctions __daylight(), __dstbias(), __timezone() and __tzname() are\navailable in msvcr80+ libraries and also in UCRT.\n\nFunctions __daylight(), __dstbias() are also available in later versions of\ni386 and x64 msvcrt.dll and are available in all ARM versions of msvcrt.dll.\n\nFunctions __p__daylight(), __p__timezone() and __p__tzname() are available\nsince msvcrt20.dll and are present in all later msvcrt versions except the\nUCRT and non-i386 OS system version of msvcrt.dll.\n\nFunction __p__dstbias() is available since msvcrt40.dll and is present also\nin all later msvcrt versions except the UCRT and non-i386 OS system version\nof msvcrt.dll.\n\nGlobal variables _daylight, _timezone and _tzname are available in all\nmsvcrt versions except UCRT.\n\nGlobal variable _dstbias is present since msvcrt40.dll, except UCRT and\nnon-i386 OS system versions of msvcrt.dll.\n\nDefine __daylight, __dstbias, __timezone and __tzname for all CRT import\nlibraries either as aliases to __p__daylight, __p__dstbias, __p__timezone,\nand __p__tzname or as function wrappers around variables _daylight,\n_dstbias, _timezone and _tzname, based on what each DLL library provides.\n\nWith this change also unifies time.h file to define _daylight, _dstbias,\n_timezone and _tzname for all CRT builds via functions. This removes\nanother ifdef _UCRT and improves ABI compatibility between UCRT and\nnon-UCRT builds.\n\nSigned-off-by: Martin Storsjö \u003cmartin@martin.st\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c5dcfbe94397b8dd0b8b0ff275ba928606d610f3",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/Makefile.am",
      "new_id": "365e42a68d84b02a0e8d3b43f5b70dcc12a89f64",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/Makefile.am"
    },
    {
      "type": "modify",
      "old_id": "d81eaae2596b12de815a106b1d9d77cd4d181e28",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/def-include/crt-aliases.def.in",
      "new_id": "70ac50b6e2cf8ba5b578508246e5b91cd5aaa559",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/def-include/crt-aliases.def.in"
    },
    {
      "type": "modify",
      "old_id": "51e1425974a62318b6a727c56a39f63cf8db21d0",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib-common/msvcrt.def.in",
      "new_id": "a1b47619fd34fc63fbf24ba8983018f7bbf1fd91",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib-common/msvcrt.def.in"
    },
    {
      "type": "modify",
      "old_id": "5d1372e1e9d8bc3de5ad83ff54601fabf1a4e81b",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr40d.def.in",
      "new_id": "53ca088f6afa577e62af95990308445598e36ac7",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr40d.def.in"
    },
    {
      "type": "modify",
      "old_id": "91ae74a6cea431e56b08b5d7d41cd06818c701d7",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr70.def.in",
      "new_id": "9ed6a5bd14a36c3007fe6e1aa4a85a2c3dbabc3d",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr70.def.in"
    },
    {
      "type": "modify",
      "old_id": "0016d3620596677dc295dfae1fe088bb04a2a933",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr70d.def.in",
      "new_id": "ad7e14d4aa3bb05316249e4cab50d4ff1cfb451f",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr70d.def.in"
    },
    {
      "type": "modify",
      "old_id": "a130a77b06a0c81822e3c7cc44cf73cc305bf802",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr71.def.in",
      "new_id": "b6bbe0c4968ad26032118264d074658a5533fb00",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr71.def.in"
    },
    {
      "type": "modify",
      "old_id": "7ad3b594fde7ee4c9bd6196d459060b6d719737c",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcr71d.def.in",
      "new_id": "f25619993d3c4cf35d8f487f93467fd37ef3aa81",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcr71d.def.in"
    },
    {
      "type": "modify",
      "old_id": "9fc9f8ed8083b36ea6629ca0381f3ad9c3d030c4",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcrt20.def.in",
      "new_id": "d096781234ce7bb4271b0b7638a711666876c4e9",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcrt20.def.in"
    },
    {
      "type": "modify",
      "old_id": "1a9cbc210a3c97c0b8fc368b1f61d046567720ab",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcrt40.def.in",
      "new_id": "6fad2dc683dbd802ac70351bca053824b9089c9e",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcrt40.def.in"
    },
    {
      "type": "modify",
      "old_id": "c54c9a9a9f49a4eacf951c356d71374106e71c21",
      "old_mode": 33188,
      "old_path": "mingw-w64-crt/lib32/msvcrtd.def.in",
      "new_id": "d63cf9ac03f005009713cb19f43f4d80b0e166d1",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/lib32/msvcrtd.def.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0fc29e499908723a4d8ffe66c3c1a5328d3b7be5",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/misc/__daylight.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "525ddd048e22bac48111c3bf3298032ec8214c21",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/misc/__dstbias.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8009a1cd15df0dc1f7f02ba0caa7bf4679553666",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/misc/__timezone.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "403433b92e0ffae6bcdc7cf55ca5a68b9daf8877",
      "new_mode": 33188,
      "new_path": "mingw-w64-crt/misc/__tzname.c"
    },
    {
      "type": "modify",
      "old_id": "8f324e086529e5d751468bfd3fe31a454355b6e2",
      "old_mode": 33188,
      "old_path": "mingw-w64-headers/crt/time.h",
      "new_id": "2a475eeff94487606e7161239508b333626541cf",
      "new_mode": 33188,
      "new_path": "mingw-w64-headers/crt/time.h"
    }
  ]
}
