)]}'
{
  "commit": "385d81380cb8aa062b9d7e2c678419623c7db484",
  "tree": "f866963b5b03410694d03a37d20695327a72a460",
  "parents": [
    "862e973b50e56d9510cfebc220cf410d3d5e99bc"
  ],
  "author": {
    "name": "Geoff Thorpe",
    "email": "geoff@openssl.org",
    "time": "Fri Dec 01 20:31:52 2000 +0000"
  },
  "committer": {
    "name": "Geoff Thorpe",
    "email": "geoff@openssl.org",
    "time": "Fri Dec 01 20:31:52 2000 +0000"
  },
  "message": "First step in tidying up the LHASH code. The callback prototypes (and\ncasts) used in the lhash code are about as horrible and evil as they can\nbe. For starters, the callback prototypes contain empty parameter lists.\nYuck.\n\nThis first change defines clearer prototypes - including \"typedef\"\u0027d\nfunction pointer types to use as \"hash\" and \"compare\" callbacks, as well as\nthe callbacks passed to the lh_doall and lh_doall_arg iteration functions.\nNow at least more explicit (and clear) casting is required in all of the\ndependant code - and that should be included in this commit.\n\nThe next step will be to hunt down and obliterate some of the function\npointer casting being used when it\u0027s not necessary - a particularly evil\nvariant exists in the implementation of lh_doall.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8184f2efca1c63663758e3480f04f331dbdf679e",
      "old_mode": 33188,
      "old_path": "apps/ca.c",
      "new_id": "2e00555880a6438d9e67c03de05e53387586167e",
      "new_mode": 33188,
      "new_path": "apps/ca.c"
    },
    {
      "type": "modify",
      "old_id": "cbb77b0c0a8404c9ea2e034441bdca5a2387f90b",
      "old_mode": 33188,
      "old_path": "apps/openssl.c",
      "new_id": "40bcb76341ce4d46f5d1d91176c8a2b7bca94723",
      "new_mode": 33188,
      "new_path": "apps/openssl.c"
    },
    {
      "type": "modify",
      "old_id": "e907cc224276e4304d23305ab967c9856b649051",
      "old_mode": 33188,
      "old_path": "crypto/conf/cnf_save.c",
      "new_id": "efbb61373e0c12243e1fde560a6cf27b739f36fc",
      "new_mode": 33188,
      "new_path": "crypto/conf/cnf_save.c"
    },
    {
      "type": "modify",
      "old_id": "7abeeced07f6de668bd5b5f25cb15a71ffe140eb",
      "old_mode": 33188,
      "old_path": "crypto/conf/conf_api.c",
      "new_id": "4d30c6835ce0b906eac349a55963ddfa3e72af8a",
      "new_mode": 33188,
      "new_path": "crypto/conf/conf_api.c"
    },
    {
      "type": "modify",
      "old_id": "6825d9645587dd7ed1361a17e2a06fd8aaeb5640",
      "old_mode": 33188,
      "old_path": "crypto/conf/conf_def.c",
      "new_id": "1d30f6f771bb2b774e8e37f4ae33f5de655258c6",
      "new_mode": 33188,
      "new_path": "crypto/conf/conf_def.c"
    },
    {
      "type": "modify",
      "old_id": "99272e437c7cde3144b7dc5de94c9ee8a5e49c29",
      "old_mode": 33188,
      "old_path": "crypto/err/err.c",
      "new_id": "34f4adaeb2969fd440339a04a754ed0067755e6b",
      "new_mode": 33188,
      "new_path": "crypto/err/err.c"
    },
    {
      "type": "modify",
      "old_id": "cdcc3b6e4d04aafd153db72bf63fd67312830d2d",
      "old_mode": 33188,
      "old_path": "crypto/lhash/lhash.c",
      "new_id": "60699f45ccfd190a99374868eda6bd1303d968c3",
      "new_mode": 33188,
      "new_path": "crypto/lhash/lhash.c"
    },
    {
      "type": "modify",
      "old_id": "28e8f1ef0a921ca722ff8e05563598e7e2647d61",
      "old_mode": 33188,
      "old_path": "crypto/lhash/lhash.h",
      "new_id": "0c1e2d2338db20fd3af66d4e709243b00e92fd66",
      "new_mode": 33188,
      "new_path": "crypto/lhash/lhash.h"
    },
    {
      "type": "modify",
      "old_id": "61329b098d8d89729df314ae6c60af055b293cab",
      "old_mode": 33188,
      "old_path": "crypto/mem_dbg.c",
      "new_id": "eb45516bdbbecc57d731ff8cf96d1d5fc0621ca9",
      "new_mode": 33188,
      "new_path": "crypto/mem_dbg.c"
    },
    {
      "type": "modify",
      "old_id": "288f0081496eae0518c331b004ffaeffe7917023",
      "old_mode": 33188,
      "old_path": "crypto/objects/o_names.c",
      "new_id": "db37ccf47c6d8cebf73d5ab649c0d3780c5c60c8",
      "new_mode": 33188,
      "new_path": "crypto/objects/o_names.c"
    },
    {
      "type": "modify",
      "old_id": "4b1bb9583af3d6c34cb550552c0648d17671e57b",
      "old_mode": 33188,
      "old_path": "crypto/objects/obj_dat.c",
      "new_id": "e5c7ab7b660093d0f1df6958f7272b3c93e0499b",
      "new_mode": 33188,
      "new_path": "crypto/objects/obj_dat.c"
    },
    {
      "type": "modify",
      "old_id": "3b04fe280c37888c32e57895ebedfa6ec4b4d10f",
      "old_mode": 33188,
      "old_path": "crypto/txt_db/txt_db.c",
      "new_id": "eb13f6040a7012b8e46f8926fbf2b87548e0218f",
      "new_mode": 33188,
      "new_path": "crypto/txt_db/txt_db.c"
    },
    {
      "type": "modify",
      "old_id": "342533d40dbbfb0f0d9c1343caca84d013026d24",
      "old_mode": 33188,
      "old_path": "crypto/txt_db/txt_db.h",
      "new_id": "e530af66051a6954fcacf4d26ed327e55463ee60",
      "new_mode": 33188,
      "new_path": "crypto/txt_db/txt_db.h"
    },
    {
      "type": "modify",
      "old_id": "866cd182d4c6ceafa0ff532f45bde4327f954318",
      "old_mode": 33188,
      "old_path": "ssl/ssl_lib.c",
      "new_id": "28a1c67cd749586b768c3042e8309c21b1aa88b4",
      "new_mode": 33188,
      "new_path": "ssl/ssl_lib.c"
    },
    {
      "type": "modify",
      "old_id": "7064262def86cd38857b8a7e2d185435ddf9d5f3",
      "old_mode": 33188,
      "old_path": "ssl/ssl_sess.c",
      "new_id": "830f1d9b0f447dbc540ce37642729d9fd02c0d74",
      "new_mode": 33188,
      "new_path": "ssl/ssl_sess.c"
    }
  ]
}
