)]}'
{
  "commit": "0988e3267d2c8ab8c69644e59d0ad44587703413",
  "tree": "5b6c2d109f69565680d7a96811304a2c654ec4ea",
  "parents": [
    "05718c7b4314e6ed440373f6be45c634d4204c5d"
  ],
  "author": {
    "name": "Pali Rohár",
    "email": "pali.rohar@gmail.com",
    "time": "Fri Jun 07 21:46:12 2024 +0200"
  },
  "committer": {
    "name": "Martin Storsjö",
    "email": "martin@martin.st",
    "time": "Sat Jun 15 00:07:29 2024 +0300"
  },
  "message": "headers: Unified declaration of __argc, __argv, __wargv, _environ, _wenviron, _pgmptr, _wpgmptr, _osplatform, _osver, _winver, _winmajor, _winminor\n\nDeclare __argc, __argv, __wargv, _pgmptr, _wpgmptr via corresponding\n__p_func() function as now it is provided by every CRT import library\n(either directly or manually by mingw-w64 code) which also provides that\nsymbol.\n\nDeclare _environ and _wenviron based on architecture. On i386 and x64 in\nmsvcr*, and in UCRT on all architectures, it is always defined via\n__p__environ() and __p__wenviron() functions which are provided by every\nCRT import library (wide variant since VC20+). On arm32 and arm64 in\nmsvcrt, they are via _get_environ() and _get_wenviron() functions.\n\n_osplatform, _osver, _winver, _winmajor, _winminor are declared as global\nvariables directly. They are available since the first crtdll.dll library\nup to the msvcr80.dll (both i386 and x64). All these variables were removed\nin Visual Studio 2008, together with corresponding __p_func fuctions. So\nthere is no reason to define them via functions.\n\nSigned-off-by: Martin Storsjö \u003cmartin@martin.st\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4b3d643c3b69464069a33fda0baf467706cb991b",
      "old_mode": 33188,
      "old_path": "mingw-w64-headers/crt/stdlib.h",
      "new_id": "1ec43b284d734f4edf6c5ddcc724eb322084f1de",
      "new_mode": 33188,
      "new_path": "mingw-w64-headers/crt/stdlib.h"
    }
  ]
}
