)]}'
{
  "commit": "a582a5784e5fa8a52203b79488f5027cd4bf2c80",
  "tree": "32c3605e4d39d4a5df4e9e2a2fae4690ee258cbd",
  "parents": [
    "cd670accb5987e68d4e5967922bc79efc10a5e02"
  ],
  "author": {
    "name": "Daniel P. Berrangé",
    "email": "berrange@redhat.com",
    "time": "Wed Sep 24 16:25:45 2025 +0100"
  },
  "committer": {
    "name": "Daniel P. Berrangé",
    "email": "berrange@redhat.com",
    "time": "Thu Mar 05 17:40:24 2026 +0000"
  },
  "message": "monitor: move error_vprintf back to error-report.c\n\nThe current unit tests rely on monitor.o not being linked, such\nthat the monitor stubs get linked instead. Since error_vprintf\nis in monitor.o this allows a stub error_vprintf impl to be used\nthat calls g_test_message.\n\nThis takes a different approach, with error_vprintf moving\nback to error-report.c such that it is always linked into the\ntests. The monitor_vprintf() stub is then changed to use\ng_test_message if QTEST_SILENT_ERRORS is set, otherwise it will\nreturn -1 and trigger error_vprintf to call vfprintf.\n\nThe end result is functionally equivalent for the purposes of\nthe unit tests.\n\nReviewed-by: Richard Henderson \u003crichard.henderson@linaro.org\u003e\nReviewed-by: Eric Blake \u003ceblake@redhat.com\u003e\nReviewed-by: Markus Armbruster \u003carmbru@redhat.com\u003e\nSigned-off-by: Daniel P. Berrangé \u003cberrange@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "64c552a047143f37ad19c7cb87db116d1b2648cc",
      "old_mode": 33188,
      "old_path": "monitor/monitor.c",
      "new_id": "6dc5a7016d29e88b1b4ad8fc3219ad015352d71f",
      "new_mode": 33188,
      "new_path": "monitor/monitor.c"
    },
    {
      "type": "delete",
      "old_id": "1afa0f62ca26f08f25b22c9bd11a13ba5346e867",
      "old_mode": 33188,
      "old_path": "stubs/error-printf.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "6ae478bacc170556f24235975eada41c3b6c0c48",
      "old_mode": 33188,
      "old_path": "stubs/meson.build",
      "new_id": "fad796a49da0e96975341ed87b59cbd58db20ca5",
      "new_mode": 33188,
      "new_path": "stubs/meson.build"
    },
    {
      "type": "modify",
      "old_id": "1894cdfe1f8983bdf57dd3f85cfe6c65ba7537ee",
      "old_mode": 33188,
      "old_path": "stubs/monitor-core.c",
      "new_id": "a7c32297c90a64bdc63955c5177a4efe873abb2a",
      "new_mode": 33188,
      "new_path": "stubs/monitor-core.c"
    },
    {
      "type": "modify",
      "old_id": "d6b7448183ad10fee935270fcec41ad046d8ebc0",
      "old_mode": 33188,
      "old_path": "util/error-report.c",
      "new_id": "c7f70bd95b658853a9a51ae3009c1fa03bcf90b3",
      "new_mode": 33188,
      "new_path": "util/error-report.c"
    }
  ]
}
