)]}'
{
  "commit": "8a7e2ee85f0a2824e48e85e57534c5b18113cf07",
  "tree": "968c84af2dad186b3d8073bada06516efb173f3c",
  "parents": [
    "9f15d7eb0c9cf216f069d6972c58520013b80acb"
  ],
  "author": {
    "name": "Laslo Hunhold",
    "email": "dev@frign.de",
    "time": "Sat Sep 24 01:54:52 2022 +0200"
  },
  "committer": {
    "name": "Laslo Hunhold",
    "email": "dev@frign.de",
    "time": "Sat Sep 24 01:54:52 2022 +0200"
  },
  "message": "Compile the library in freestanding mode\n\nLooking closely, we never explicitly depend on the standard library\nwithin the actual library code. This can be explicitly expressed by\nsetting -ffreestanding during object-compilation and -nostdlib during\nlinking. The result is a clean library with zero libc-symbols, allowing\nit to be used even without an operating system (kernel code, ELF,\netc.), by making use of the freestanding implementation form defined\nin the standard[0].\n\nTo be freestanding, the code may only include \u003cfloat.h\u003e, \u003ciso646.h\u003e,\n\u003climits.h\u003e, \u003cstdalign.h\u003e, \u003cstdarg.h\u003e, \u003cstdbool.h\u003e, \u003cstddef.h\u003e,\n\u003cstdint.h\u003e and \u003cstdnoreturn.h\u003e. We satisfy this condition implictly,\nbut there are some erroneous supplementary includes that are removed\nin this commit. Additionally, the strict compiler-implementation simply\nadds the U-prefix to the argument of UINT16_C (et. al.), which is why\ncalls to it have to be changed to really include only constants.\n\n[0]:https://www.iso-9899.info/n1570.html#4.p6\n\nSigned-off-by: Laslo Hunhold \u003cdev@frign.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "38b0b4b94c296ec6ac153b74f5c69d8cd5c79fd1",
      "old_mode": 33188,
      "old_path": "config.mk",
      "new_id": "14aedd3ad3cb9a33dc2232fe99bb54b67818b7cc",
      "new_mode": 33188,
      "new_path": "config.mk"
    },
    {
      "type": "modify",
      "old_id": "78da33f820606d0b1a46a81e85ef67888d8c451f",
      "old_mode": 33188,
      "old_path": "src/character.c",
      "new_id": "4a0a05efdc81ec67709804da6ca5cff477a8918d",
      "new_mode": 33188,
      "new_path": "src/character.c"
    },
    {
      "type": "modify",
      "old_id": "051e1524e190bbeeccc8a80d3bdf4852b4c8b776",
      "old_mode": 33188,
      "old_path": "src/line.c",
      "new_id": "6dbb2171c35f8a0b31e166f8b15a2974015b5eb1",
      "new_mode": 33188,
      "new_path": "src/line.c"
    },
    {
      "type": "modify",
      "old_id": "d464edc36dcc1e19a704700eac74fb97efcbf0cb",
      "old_mode": 33188,
      "old_path": "src/sentence.c",
      "new_id": "c302747808601f4df62d816b791cdf8dd2087b92",
      "new_mode": 33188,
      "new_path": "src/sentence.c"
    },
    {
      "type": "modify",
      "old_id": "46db763f44da277a89ffde5d33188d7badd9ce01",
      "old_mode": 33188,
      "old_path": "src/utf8.c",
      "new_id": "0cada629d25027fe9dee9d28c072a380d659beca",
      "new_mode": 33188,
      "new_path": "src/utf8.c"
    },
    {
      "type": "modify",
      "old_id": "373d91e475d44d3258e0c8b951eefd898732fa2e",
      "old_mode": 33188,
      "old_path": "src/util.c",
      "new_id": "2a2b7d0b639c11f6424671fad75dbc96fe58fb50",
      "new_mode": 33188,
      "new_path": "src/util.c"
    },
    {
      "type": "modify",
      "old_id": "dffb5b5ab0e9094dbc6129bd7097167830f24d21",
      "old_mode": 33188,
      "old_path": "src/word.c",
      "new_id": "91e1c3142ad6a5723bc5ea89cd5981f2d88a5ce5",
      "new_mode": 33188,
      "new_path": "src/word.c"
    }
  ]
}
