)]}'
{
  "commit": "bfcdc4969510997fe81debf52982641febfa1bdf",
  "tree": "695ccd9508035cc35be2cfe1ed6f2ae7e892c11e",
  "parents": [
    "6e1c8399e82c015f4e9d7d67e98d70541a3ef2d0"
  ],
  "author": {
    "name": "Brian Koropoff",
    "email": "bkoropoff@gmail.com",
    "time": "Tue Mar 15 15:35:14 2011 +0800"
  },
  "committer": {
    "name": "Herbert Xu",
    "email": "herbert@gondor.apana.org.au",
    "time": "Tue Mar 15 15:35:14 2011 +0800"
  },
  "message": "[SHELL] Port to Solaris\n\n- Solaris lacks paths.h and the various _PATH_* #defines.\n  Check for them in configure.ac and fall back on the\n  usual suspects when they are missing.\n\n- Older Solaris lacks isblank(), and versions that have it\n  use a macro.  Check for the declaration in configure.ac\n  and fall back on a naive version when missing.\n\n- Older Solaris does not support %jd (intmax_t) in format\n  strings, but it does support the PRIdMAX macro from inttypes.h.\n  Do a configure check for PRIdMAX and use it in the code.\n  If it doesn\u0027t exist, define it to \"lld\" when sizeof(long long)\n  equals sizeof(intmax_t) as this is more likely to work on\n  older systems.  Otherwise, use \"jd\" and hope for the best.\n\n- Older Solaris lacks stdint.h, but inttypes.h provides the\n  same types and works on all platforms I\u0027ve tried dash on,\n  so just use it instead.\n\n- Older Solaris doesn\u0027t like it when vsnprintf() is passed\n  a NULL buffer (in violation of the POSIX spec, of course).\n  Pass a 1-byte dummy buffer instead.\n\n- Solaris lacks tempfile and mktemp programs.  Fall back on a\n  \"good-enough\" custom function in mkbuiltins.\n\nSigned-off-by: Brian Koropoff \u003cbkoropoff@gmail.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e96bdc4899090478a8bc13fa98664244738778e9",
      "old_mode": 33188,
      "old_path": "ChangeLog",
      "new_id": "08c3792e3f7b144a777ba837b43c75669927b429",
      "new_mode": 33188,
      "new_path": "ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "c943725cddba33755bc86c9d6167b4f7d88ea28b",
      "old_mode": 33188,
      "old_path": "configure.ac",
      "new_id": "effdffc6ab85fa08ef6647666ae56850eb975b5e",
      "new_mode": 33188,
      "new_path": "configure.ac"
    },
    {
      "type": "modify",
      "old_id": "6c5a72009c5faafec1005d403861c49674fc13a8",
      "old_mode": 33188,
      "old_path": "src/arith_yacc.c",
      "new_id": "bf2183034acc372f8c1ad7a32edca850240df365",
      "new_mode": 33188,
      "new_path": "src/arith_yacc.c"
    },
    {
      "type": "modify",
      "old_id": "7888f38eeb96952b2d011a061a443b778231a51b",
      "old_mode": 33188,
      "old_path": "src/bltin/test.c",
      "new_id": "90135e14e1bd5ae4101dbefc233c88d2c66cb795",
      "new_mode": 33188,
      "new_path": "src/bltin/test.c"
    },
    {
      "type": "modify",
      "old_id": "9a69b6988b3a776a6e1fc91af1fec349638d09e5",
      "old_mode": 33188,
      "old_path": "src/cd.c",
      "new_id": "2d9d4b521c9d128b552ae53f6cf1714f247a0a99",
      "new_mode": 33188,
      "new_path": "src/cd.c"
    },
    {
      "type": "modify",
      "old_id": "b2734203924c7c4ea70cc796b3fa6332189d2bb4",
      "old_mode": 33188,
      "old_path": "src/exec.c",
      "new_id": "194088bd5f3335d6e79cdbe3196515ecbb2ebf3a",
      "new_mode": 33188,
      "new_path": "src/exec.c"
    },
    {
      "type": "modify",
      "old_id": "7a9b157f42110ce700ceb4d638ad1c3b82b9eca9",
      "old_mode": 33188,
      "old_path": "src/expand.c",
      "new_id": "f155ea0cc95cd206794b1f563bcef590dbbd1f7d",
      "new_mode": 33188,
      "new_path": "src/expand.c"
    },
    {
      "type": "modify",
      "old_id": "4251a4a1d0ee873883a3ef7f11a25a4354359b79",
      "old_mode": 33188,
      "old_path": "src/expand.h",
      "new_id": "6a90f67e2182f9047237e9d4e86e774b637de07f",
      "new_mode": 33188,
      "new_path": "src/expand.h"
    },
    {
      "type": "modify",
      "old_id": "9a1e533f7d9e250eb40a2dd5f27f2985b304b440",
      "old_mode": 33188,
      "old_path": "src/histedit.c",
      "new_id": "b27d6294ce08e95006a0ee0a6f835b0825c85d86",
      "new_mode": 33188,
      "new_path": "src/histedit.c"
    },
    {
      "type": "modify",
      "old_id": "f67116e95de7a206fd1f422d45eff3d0bf819db7",
      "old_mode": 33188,
      "old_path": "src/jobs.c",
      "new_id": "4b1b938eaa0161653829ab8714b96d218d2553fc",
      "new_mode": 33188,
      "new_path": "src/jobs.c"
    },
    {
      "type": "modify",
      "old_id": "9c095eae31e2da18b668fdf6517df7ed634cea82",
      "old_mode": 33188,
      "old_path": "src/jobs.h",
      "new_id": "953ee87127b11350d822d7f9881b6b451b49fdb5",
      "new_mode": 33188,
      "new_path": "src/jobs.h"
    },
    {
      "type": "modify",
      "old_id": "f507381d5df74bd583eb0a4139a479ad8af35384",
      "old_mode": 33188,
      "old_path": "src/miscbltin.c",
      "new_id": "e354df437ee4769fcf29515a6fb6a1a4b3be2ab2",
      "new_mode": 33188,
      "new_path": "src/miscbltin.c"
    },
    {
      "type": "modify",
      "old_id": "99107c2bd68cb4f8b8d0eb9232c46923bf9e4039",
      "old_mode": 33188,
      "old_path": "src/mkbuiltins",
      "new_id": "f562ae2216cf9a0b6eca47a1167b0344d2d181c3",
      "new_mode": 33188,
      "new_path": "src/mkbuiltins"
    },
    {
      "type": "modify",
      "old_id": "bbb6b776ce99628ab702601fb8457a042624e2fe",
      "old_mode": 33188,
      "old_path": "src/mystring.c",
      "new_id": "0106bd27d2fead53984fac02546f744d185b4e34",
      "new_mode": 33188,
      "new_path": "src/mystring.c"
    },
    {
      "type": "modify",
      "old_id": "352252376abfe7356dd7d387cf658a5b94e5e628",
      "old_mode": 33188,
      "old_path": "src/mystring.h",
      "new_id": "083ea98cff7e0ba8771a3f5948edbd1ce284f72e",
      "new_mode": 33188,
      "new_path": "src/mystring.h"
    },
    {
      "type": "modify",
      "old_id": "2f9b5c4c57c2272b2ec529c5e4a6b7cc413fddc7",
      "old_mode": 33188,
      "old_path": "src/output.c",
      "new_id": "f62e7eab0b4eb4eae0e76a1a9d16b52674fc6d81",
      "new_mode": 33188,
      "new_path": "src/output.c"
    },
    {
      "type": "modify",
      "old_id": "5fd60628505c5813126aa20fce40638478cbe5e1",
      "old_mode": 33188,
      "old_path": "src/system.c",
      "new_id": "844a6410ea7ae50d481f1a482f0467dbfc73f4db",
      "new_mode": 33188,
      "new_path": "src/system.c"
    },
    {
      "type": "modify",
      "old_id": "17a95334332b3a52f9dab453b23bcd03bba7779d",
      "old_mode": 33188,
      "old_path": "src/system.h",
      "new_id": "a8d09b382a81caaa1e99271992631f47a7e3df6c",
      "new_mode": 33188,
      "new_path": "src/system.h"
    },
    {
      "type": "modify",
      "old_id": "25c221667b5a964c1cb3d32e7937c4db2cc198f6",
      "old_mode": 33188,
      "old_path": "src/var.c",
      "new_id": "aec10769af306bdb79e09871e7a200fd0e8db076",
      "new_mode": 33188,
      "new_path": "src/var.c"
    },
    {
      "type": "modify",
      "old_id": "7aa051f261feb002388a6cfc5ac00ddf6436776e",
      "old_mode": 33188,
      "old_path": "src/var.h",
      "new_id": "35dd0998f98f6efdc43db47f2f9e3e28f32a3af4",
      "new_mode": 33188,
      "new_path": "src/var.h"
    }
  ]
}
