)]}'
{
  "log": [
    {
      "commit": "0241684ea77e8aa20ad2cb3903589559f4a7b009",
      "tree": "2bb64a53f5d8c1091839be9e1afb6e4625828f38",
      "parents": [
        "216565ab68148d3161422c0d73730614bfeccd7c"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 26 05:05:16 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 26 05:05:16 2005 +0000"
      },
      "message": "2005-10-26 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* (general) Cleanup a some calls to XFREE,strdup, etc. to use\n\t  the memory.h macros.\n\t* memtypes.c: Add MTYPE_IF_RMAP_NAME, MTYPE_PQUEUE,\n\t  MTYPE_PQUEUE_DATA and MTYPE_HOST.\n\t* memtypes.h: update auto-built file.\n\t* if_rmap.c: Use MTYPE_IF_RMAP_NAME.\n\t* pqueue.c: Use the two MTYPE_PQUEUE mtypes for allocations.\n"
    },
    {
      "commit": "8cc4198f9fabe5f10f5a773de1503d82f33a01fb",
      "tree": "77045da709ff66629bd12029b9ee17700360909b",
      "parents": [
        "e7fe8c88c3d552400e1ae3ae9243319ab95d6f2d"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 06 21:25:49 2005 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 06 21:25:49 2005 +0000"
      },
      "message": "2005-05-06 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* (general) extern and static\u0027ification of functions in code and\n\t  header.\n\t  Cleanup any definitions with unspecified arguments.\n\t  Add casts for callback assignments where the callback is defined,\n\t  typically, as passing void *, but the function being assigned has\n\t  some other pointer type defined as its argument, as gcc complains\n\t  about casts from void * to X* via function arguments.\n\t  Fix some old K\u0026R style function argument definitions.\n\t  Add noreturn gcc attribute to some functions, as appropriate.\n\t  Add unused gcc attribute to some functions (eg ones meant to help\n\t  while debugging)\n\t  Add guard defines to headers which were missing them.\n\t* command.c: (install_node) add const qualifier, still doesnt shut\n\t  up the warning though, because of the double pointer.\n\t  (cmp_node) ditto\n\t* keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived\n\t  fromn vty.h ones to fix some of the (long) \u003c 0 warnings.\n\t* thread.c: (various) use thread_empty\n\t  (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type\n\t* vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they\n\t  removed from ospfd/ospf_vty.h\n\t* zebra.h: Move definition of ZEBRA_PORT to here, to remove\n\t  dependence of lib on zebra/zserv.h\n"
    },
    {
      "commit": "c3c07f28dcd226975b5ed0c1f8842f51968a3288",
      "tree": "417176baf15d9f9528c7ef6fc65171fcfa68583d",
      "parents": [
        "e40dcce1f5966d4129b5ecadd905dc2952ac5b30"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Feb 21 18:17:52 2005 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Feb 21 18:17:52 2005 +0000"
      },
      "message": "\t* pqueue.[ch]: Introduce \"update\" function to meet ospf spf needs. It\n\t  will allow to update node when:\n\t  i) a node is inserted into the priority queue;\n\t  ii) a node position is modified in the priority queue;\n\t* pqueue.h: Export trickle_down() function.\n"
    },
    {
      "commit": "6708fa3c3e6aef369be13f3915698f407107cae2",
      "tree": "32aa937b0761573d3dfcfdda8a9929f9794403cb",
      "parents": [
        "3e31cded7fd9b6a1bac06de2ee2e875a5c40074c"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue May 18 18:46:54 2004 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Tue May 18 18:46:54 2004 +0000"
      },
      "message": "Start of new ospf6d merge from Zebra.\n"
    }
  ]
}
