Lines Matching defs:qerr
222 QError *qerr;
224 qerr = qemu_mallocz(sizeof(*qerr));
225 QOBJECT_INIT(qerr, &qerror_type);
227 return qerr;
230 static void GCC_FMT_ATTR(2, 3) qerror_abort(const QError *qerr,
235 fprintf(stderr, "qerror: bad call in function '%s':\n", qerr->func);
242 fprintf(stderr, "\nqerror: call at %s:%d\n", qerr->file, qerr->linenr);
246 static void GCC_FMT_ATTR(2, 0) qerror_set_data(QError *qerr,
253 qerror_abort(qerr, "invalid format '%s'", fmt);
256 qerror_abort(qerr, "error format is not a QDict '%s'", fmt);
259 qerr->error = qobject_to_qdict(obj);
261 obj = qdict_get(qerr->error, "class");
263 qerror_abort(qerr, "missing 'class' key in '%s'", fmt);
266 qerror_abort(qerr, "'class' key value should be a QString");
269 obj = qdict_get(qerr->error, "data");
271 qerror_abort(qerr, "missing 'data' key in '%s'", fmt);
274 qerror_abort(qerr, "'data' key value should be a QDICT");
278 static void qerror_set_desc(QError *qerr, const char *fmt)
286 qerr->entry = &qerror_table[i];
291 qerror_abort(qerr, "error format '%s' not found", fmt);
311 QError *qerr;
313 qerr = qerror_new();
314 loc_save(&qerr->loc);
315 qerr->linenr = linenr;
316 qerr->file = file;
317 qerr->func = func;
320 qerror_abort(qerr, "QDict not specified");
323 qerror_set_data(qerr, fmt, va);
324 qerror_set_desc(qerr, fmt);
326 return qerr;
456 QError *qerr;
459 qerr = qobject_to_qerror(obj);
461 QDECREF(qerr->error);
462 qemu_free(qerr);