)]}'
{
  "commit": "e41b509d68afb1f329c8558b6edfe2fcbac88e66",
  "tree": "3885701adcfc6f88b28cec652e52c8a95517887f",
  "parents": [
    "85ca1202d1227b3a816c714db6c8e19b613172c5"
  ],
  "author": {
    "name": "Paolo Bonzini",
    "email": "pbonzini@redhat.com",
    "time": "Sat Feb 08 11:01:57 2014 +0100"
  },
  "committer": {
    "name": "Andreas Färber",
    "email": "afaerber@suse.de",
    "time": "Fri Feb 14 21:12:05 2014 +0100"
  },
  "message": "qapi: Refine human printing of sizes\n\nThis fixes several bugs or shortcomings of the previous pretty-printer.\nIn particular:\n\n* use PRIu64 instead of casting to long long\n\n* the exact value is included too\n\n* the correct unit of measure (MiB, GiB, etc.) is used.  PiB and EiB\nare added too.\n\n* due to an off-by-one error, 512*2^30 was printed as 0.500MiB rather than\n512MiB.  floor(log2(val)) is equal to 63 - clz(val), while the code used 64.\n\n* The desired specification is %g rather than %f, which always uses three\ndecimals in the current code.  However %g would switch to scientific\nnotation when the integer part is \u003e\u003d 1000 (e.g. 1000*2^30).  To keep the\ncode simple, switch to the higher power when the integer part is \u003e\u003d 1000;\noverflow is avoided by using frexp instead of clz.\n\nSuggested-by: Eric Blake \u003ceblake@redhat.com\u003e\nReviewed-by: Igor Mammedov \u003cimammedo@redhat.com\u003e\nReviewed-by: Eric Blake \u003ceblake@redhat.com\u003e\nSigned-off-by: Paolo Bonzini \u003cpbonzini@redhat.com\u003e\nSigned-off-by: Andreas Färber \u003cafaerber@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "67a8798292653340ba94f7703481232482192189",
      "old_mode": 33188,
      "old_path": "qapi/string-output-visitor.c",
      "new_id": "fb1d2e806dabafb23ae30e988679cb3c4215702f",
      "new_mode": 33188,
      "new_path": "qapi/string-output-visitor.c"
    }
  ]
}
