)]}'
{
  "commit": "1926900454166df3de18a1fa584e79dab8a48d75",
  "tree": "eb58a44ae94ac539d1b5e69f038d722931feff54",
  "parents": [
    "13e745cf7a9bc867bd3575768e33e322f3c5adf8"
  ],
  "author": {
    "name": "Elliott Hughes",
    "email": "enh@google.com",
    "time": "Wed Nov 12 20:34:01 2025 +0000"
  },
  "committer": {
    "name": "Nico Huber",
    "email": "nico.h@gmx.de",
    "time": "Mon Jan 26 17:56:03 2026 +0000"
  },
  "message": "helpers_fileio.c: fix fsync() check.\n\nBoth the _POSIX_FSYNC macro and the fsync() declaration are in\n\u003cunistd.h\u003e. The current code works by accident on glibc courtesy of\ntransitive includes, but is broken in Android currently (mistakenly\nassuming there is no fsync() because _POSIX_FSYNC isn\u0027t defined, merely\nbecause \u003cunistd.h\u003e hasn\u0027t been included), and won\u0027t compile with Android\u0027s\nC23 addition of call_once() to \u003cstdlib.h\u003e because _POSIX_FSYNC comes in\ntransitively via \u003climits.h\u003e but without \u003cunistd.h\u003e for the fsync()\ndeclaration.\n\nFix all of this by just including the right POSIX header file for both\nthe feature macro and the function declaration.\n\nChange-Id: Ifd6eeba56cffabb6a37880c78ea21de4705308b5\nSigned-off-by: Elliott Hughes \u003cenh@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/90015\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/390\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e3a4993a32f2aac921ff86b7722102fdd6b9f987",
      "old_mode": 33188,
      "old_path": "helpers_fileio.c",
      "new_id": "e292ff460747461a1578ebaaad23031544410133",
      "new_mode": 33188,
      "new_path": "helpers_fileio.c"
    }
  ]
}
