qerror: Finally unused, clean up
Remove it except for two things in qerror.h: * Two #include to be cleaned up separately to avoid cluttering this patch. * The QERR_ macros. Mark as obsolete. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
parent
485febc6d1
commit
4629ed1e98
@ -523,12 +523,6 @@ static void dump_qobject(fprintf_function func_fprintf, void *f,
|
||||
func_fprintf(f, "%s", qbool_get_bool(value) ? "true" : "false");
|
||||
break;
|
||||
}
|
||||
case QTYPE_QERROR: {
|
||||
QString *value = qerror_human((QError *)obj);
|
||||
func_fprintf(f, "%s", qstring_get_str(value));
|
||||
QDECREF(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
|
@ -39,7 +39,6 @@ void monitor_flush(Monitor *mon);
|
||||
int monitor_set_cpu(int cpu_index);
|
||||
int monitor_get_cpu_index(void);
|
||||
|
||||
void monitor_set_error(Monitor *mon, QError *qerror);
|
||||
void monitor_read_command(Monitor *mon, int show_prompt);
|
||||
int monitor_read_password(Monitor *mon, ReadLineFunc *readline_func,
|
||||
void *opaque);
|
||||
|
@ -14,25 +14,10 @@
|
||||
|
||||
#include "qapi/qmp/qstring.h"
|
||||
#include "qemu/error-report.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qapi-types.h"
|
||||
#include <stdarg.h>
|
||||
|
||||
typedef struct QError {
|
||||
QObject_HEAD;
|
||||
Location loc;
|
||||
char *err_msg;
|
||||
ErrorClass err_class;
|
||||
} QError;
|
||||
|
||||
QString *qerror_human(const QError *qerror);
|
||||
void qerror_report(ErrorClass err_class, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
|
||||
void qerror_report_err(Error *err);
|
||||
|
||||
/*
|
||||
* QError class list
|
||||
* Please keep the definitions in alphabetical order.
|
||||
* Use scripts/check-qerror.sh to check.
|
||||
* These macros will go away, please don't use in new code, and do not
|
||||
* add new ones!
|
||||
*/
|
||||
#define QERR_BASE_NOT_FOUND \
|
||||
"Base '%s' not found"
|
||||
|
@ -44,7 +44,6 @@ typedef enum {
|
||||
QTYPE_QLIST,
|
||||
QTYPE_QFLOAT,
|
||||
QTYPE_QBOOL,
|
||||
QTYPE_QERROR,
|
||||
QTYPE_MAX,
|
||||
} qtype_code;
|
||||
|
||||
|
13
monitor.c
13
monitor.c
@ -202,7 +202,6 @@ struct Monitor {
|
||||
BlockCompletionFunc *password_completion_cb;
|
||||
void *password_opaque;
|
||||
mon_cmd_t *cmd_table;
|
||||
QError *error;
|
||||
QLIST_HEAD(,mon_fd_t) fds;
|
||||
QLIST_ENTRY(Monitor) entry;
|
||||
};
|
||||
@ -4038,16 +4037,6 @@ fail:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void monitor_set_error(Monitor *mon, QError *qerror)
|
||||
{
|
||||
/* report only the first error */
|
||||
if (!mon->error) {
|
||||
mon->error = qerror;
|
||||
} else {
|
||||
QDECREF(qerror);
|
||||
}
|
||||
}
|
||||
|
||||
static void handle_hmp_command(Monitor *mon, const char *cmdline)
|
||||
{
|
||||
QDict *qdict;
|
||||
@ -5047,8 +5036,6 @@ static void handle_qmp_command(JSONMessageParser *parser, QList *tokens)
|
||||
err_out:
|
||||
monitor_protocol_emitter(mon, data, local_err);
|
||||
qobject_decref(data);
|
||||
QDECREF(mon->error);
|
||||
mon->error = NULL;
|
||||
QDECREF(input);
|
||||
QDECREF(args);
|
||||
}
|
||||
|
@ -1,3 +1,2 @@
|
||||
util-obj-y = qnull.o qint.o qstring.o qdict.o qlist.o qfloat.o qbool.o
|
||||
util-obj-y += qjson.o json-lexer.o json-streamer.o json-parser.o
|
||||
util-obj-y += qerror.o
|
||||
|
148
qobject/qerror.c
148
qobject/qerror.c
@ -1,148 +0,0 @@
|
||||
/*
|
||||
* QError Module
|
||||
*
|
||||
* Copyright (C) 2009 Red Hat Inc.
|
||||
*
|
||||
* Authors:
|
||||
* Luiz Capitulino <lcapitulino@redhat.com>
|
||||
*
|
||||
* This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
|
||||
* See the COPYING.LIB file in the top-level directory.
|
||||
*/
|
||||
|
||||
#include "monitor/monitor.h"
|
||||
#include "qapi/qmp/qjson.h"
|
||||
#include "qapi/qmp/qerror.h"
|
||||
#include "qemu-common.h"
|
||||
|
||||
static void qerror_destroy_obj(QObject *obj);
|
||||
|
||||
static const QType qerror_type = {
|
||||
.code = QTYPE_QERROR,
|
||||
.destroy = qerror_destroy_obj,
|
||||
};
|
||||
|
||||
/**
|
||||
* qerror_new(): Create a new QError
|
||||
*
|
||||
* Return strong reference.
|
||||
*/
|
||||
static QError *qerror_new(void)
|
||||
{
|
||||
QError *qerr;
|
||||
|
||||
qerr = g_malloc0(sizeof(*qerr));
|
||||
QOBJECT_INIT(qerr, &qerror_type);
|
||||
|
||||
return qerr;
|
||||
}
|
||||
|
||||
/**
|
||||
* qerror_from_info(): Create a new QError from error information
|
||||
*
|
||||
* Return strong reference.
|
||||
*/
|
||||
static QError * GCC_FMT_ATTR(2, 0)
|
||||
qerror_from_info(ErrorClass err_class, const char *fmt, va_list *va)
|
||||
{
|
||||
QError *qerr;
|
||||
|
||||
qerr = qerror_new();
|
||||
loc_save(&qerr->loc);
|
||||
|
||||
qerr->err_msg = g_strdup_vprintf(fmt, *va);
|
||||
qerr->err_class = err_class;
|
||||
|
||||
return qerr;
|
||||
}
|
||||
|
||||
/**
|
||||
* qerror_human(): Format QError data into human-readable string.
|
||||
*/
|
||||
QString *qerror_human(const QError *qerror)
|
||||
{
|
||||
return qstring_from_str(qerror->err_msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* qerror_print(): Print QError data
|
||||
*
|
||||
* This function will print the member 'desc' of the specified QError object,
|
||||
* it uses error_report() for this, so that the output is routed to the right
|
||||
* place (ie. stderr or Monitor's device).
|
||||
*/
|
||||
static void qerror_print(QError *qerror)
|
||||
{
|
||||
QString *qstring = qerror_human(qerror);
|
||||
loc_push_restore(&qerror->loc);
|
||||
error_report("%s", qstring_get_str(qstring));
|
||||
loc_pop(&qerror->loc);
|
||||
QDECREF(qstring);
|
||||
}
|
||||
|
||||
void qerror_report(ErrorClass eclass, const char *fmt, ...)
|
||||
{
|
||||
va_list va;
|
||||
QError *qerror;
|
||||
|
||||
va_start(va, fmt);
|
||||
qerror = qerror_from_info(eclass, fmt, &va);
|
||||
va_end(va);
|
||||
|
||||
if (monitor_cur_is_qmp()) {
|
||||
monitor_set_error(cur_mon, qerror);
|
||||
} else {
|
||||
qerror_print(qerror);
|
||||
QDECREF(qerror);
|
||||
}
|
||||
}
|
||||
|
||||
/* Evil... */
|
||||
struct Error
|
||||
{
|
||||
char *msg;
|
||||
ErrorClass err_class;
|
||||
};
|
||||
|
||||
void qerror_report_err(Error *err)
|
||||
{
|
||||
QError *qerr;
|
||||
|
||||
qerr = qerror_new();
|
||||
loc_save(&qerr->loc);
|
||||
qerr->err_msg = g_strdup(err->msg);
|
||||
qerr->err_class = err->err_class;
|
||||
|
||||
if (monitor_cur_is_qmp()) {
|
||||
monitor_set_error(cur_mon, qerr);
|
||||
} else {
|
||||
qerror_print(qerr);
|
||||
QDECREF(qerr);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* qobject_to_qerror(): Convert a QObject into a QError
|
||||
*/
|
||||
static QError *qobject_to_qerror(const QObject *obj)
|
||||
{
|
||||
if (qobject_type(obj) != QTYPE_QERROR) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return container_of(obj, QError, base);
|
||||
}
|
||||
|
||||
/**
|
||||
* qerror_destroy_obj(): Free all memory allocated by a QError
|
||||
*/
|
||||
static void qerror_destroy_obj(QObject *obj)
|
||||
{
|
||||
QError *qerr;
|
||||
|
||||
assert(obj != NULL);
|
||||
qerr = qobject_to_qerror(obj);
|
||||
|
||||
g_free(qerr->err_msg);
|
||||
g_free(qerr);
|
||||
}
|
@ -261,9 +261,6 @@ static void to_json(const QObject *obj, QString *str, int pretty, int indent)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case QTYPE_QERROR:
|
||||
/* XXX: should QError be emitted? */
|
||||
break;
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
|
@ -21,7 +21,6 @@ stub-obj-y += machine-init-done.o
|
||||
stub-obj-y += migr-blocker.o
|
||||
stub-obj-y += mon-is-qmp.o
|
||||
stub-obj-y += mon-printf.o
|
||||
stub-obj-y += mon-set-error.o
|
||||
stub-obj-y += monitor-init.o
|
||||
stub-obj-y += notify-event.o
|
||||
stub-obj-$(CONFIG_SPICE) += qemu-chr-open-spice.o
|
||||
|
@ -1,6 +1,8 @@
|
||||
#include "qemu-common.h"
|
||||
#include "monitor/monitor.h"
|
||||
|
||||
Monitor *cur_mon;
|
||||
|
||||
bool monitor_cur_is_qmp(void)
|
||||
{
|
||||
return false;
|
||||
|
@ -1,8 +0,0 @@
|
||||
#include "qemu-common.h"
|
||||
#include "monitor/monitor.h"
|
||||
|
||||
Monitor *cur_mon;
|
||||
|
||||
void monitor_set_error(Monitor *mon, QError *qerror)
|
||||
{
|
||||
}
|
Loading…
Reference in New Issue
Block a user