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");
|
func_fprintf(f, "%s", qbool_get_bool(value) ? "true" : "false");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case QTYPE_QERROR: {
|
|
||||||
QString *value = qerror_human((QError *)obj);
|
|
||||||
func_fprintf(f, "%s", qstring_get_str(value));
|
|
||||||
QDECREF(value);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,6 @@ void monitor_flush(Monitor *mon);
|
|||||||
int monitor_set_cpu(int cpu_index);
|
int monitor_set_cpu(int cpu_index);
|
||||||
int monitor_get_cpu_index(void);
|
int monitor_get_cpu_index(void);
|
||||||
|
|
||||||
void monitor_set_error(Monitor *mon, QError *qerror);
|
|
||||||
void monitor_read_command(Monitor *mon, int show_prompt);
|
void monitor_read_command(Monitor *mon, int show_prompt);
|
||||||
int monitor_read_password(Monitor *mon, ReadLineFunc *readline_func,
|
int monitor_read_password(Monitor *mon, ReadLineFunc *readline_func,
|
||||||
void *opaque);
|
void *opaque);
|
||||||
|
@ -14,25 +14,10 @@
|
|||||||
|
|
||||||
#include "qapi/qmp/qstring.h"
|
#include "qapi/qmp/qstring.h"
|
||||||
#include "qemu/error-report.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
|
* These macros will go away, please don't use in new code, and do not
|
||||||
* Please keep the definitions in alphabetical order.
|
* add new ones!
|
||||||
* Use scripts/check-qerror.sh to check.
|
|
||||||
*/
|
*/
|
||||||
#define QERR_BASE_NOT_FOUND \
|
#define QERR_BASE_NOT_FOUND \
|
||||||
"Base '%s' not found"
|
"Base '%s' not found"
|
||||||
|
@ -44,7 +44,6 @@ typedef enum {
|
|||||||
QTYPE_QLIST,
|
QTYPE_QLIST,
|
||||||
QTYPE_QFLOAT,
|
QTYPE_QFLOAT,
|
||||||
QTYPE_QBOOL,
|
QTYPE_QBOOL,
|
||||||
QTYPE_QERROR,
|
|
||||||
QTYPE_MAX,
|
QTYPE_MAX,
|
||||||
} qtype_code;
|
} qtype_code;
|
||||||
|
|
||||||
|
13
monitor.c
13
monitor.c
@ -202,7 +202,6 @@ struct Monitor {
|
|||||||
BlockCompletionFunc *password_completion_cb;
|
BlockCompletionFunc *password_completion_cb;
|
||||||
void *password_opaque;
|
void *password_opaque;
|
||||||
mon_cmd_t *cmd_table;
|
mon_cmd_t *cmd_table;
|
||||||
QError *error;
|
|
||||||
QLIST_HEAD(,mon_fd_t) fds;
|
QLIST_HEAD(,mon_fd_t) fds;
|
||||||
QLIST_ENTRY(Monitor) entry;
|
QLIST_ENTRY(Monitor) entry;
|
||||||
};
|
};
|
||||||
@ -4038,16 +4037,6 @@ fail:
|
|||||||
return NULL;
|
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)
|
static void handle_hmp_command(Monitor *mon, const char *cmdline)
|
||||||
{
|
{
|
||||||
QDict *qdict;
|
QDict *qdict;
|
||||||
@ -5047,8 +5036,6 @@ static void handle_qmp_command(JSONMessageParser *parser, QList *tokens)
|
|||||||
err_out:
|
err_out:
|
||||||
monitor_protocol_emitter(mon, data, local_err);
|
monitor_protocol_emitter(mon, data, local_err);
|
||||||
qobject_decref(data);
|
qobject_decref(data);
|
||||||
QDECREF(mon->error);
|
|
||||||
mon->error = NULL;
|
|
||||||
QDECREF(input);
|
QDECREF(input);
|
||||||
QDECREF(args);
|
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 = 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 += 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;
|
break;
|
||||||
}
|
}
|
||||||
case QTYPE_QERROR:
|
|
||||||
/* XXX: should QError be emitted? */
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,6 @@ stub-obj-y += machine-init-done.o
|
|||||||
stub-obj-y += migr-blocker.o
|
stub-obj-y += migr-blocker.o
|
||||||
stub-obj-y += mon-is-qmp.o
|
stub-obj-y += mon-is-qmp.o
|
||||||
stub-obj-y += mon-printf.o
|
stub-obj-y += mon-printf.o
|
||||||
stub-obj-y += mon-set-error.o
|
|
||||||
stub-obj-y += monitor-init.o
|
stub-obj-y += monitor-init.o
|
||||||
stub-obj-y += notify-event.o
|
stub-obj-y += notify-event.o
|
||||||
stub-obj-$(CONFIG_SPICE) += qemu-chr-open-spice.o
|
stub-obj-$(CONFIG_SPICE) += qemu-chr-open-spice.o
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
#include "qemu-common.h"
|
#include "qemu-common.h"
|
||||||
#include "monitor/monitor.h"
|
#include "monitor/monitor.h"
|
||||||
|
|
||||||
|
Monitor *cur_mon;
|
||||||
|
|
||||||
bool monitor_cur_is_qmp(void)
|
bool monitor_cur_is_qmp(void)
|
||||||
{
|
{
|
||||||
return false;
|
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