summaryrefslogtreecommitdiff
path: root/error.c
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2012-07-20 13:43:37 -0300
committerLuiz Capitulino <lcapitulino@redhat.com>2012-08-13 13:20:01 -0300
commitdd7520f0646985b08024c73ba2285c31d7318755 (patch)
tree89618447aa2859da1b7e32c1b25d2dc323c5e36a /error.c
parent18da7c0f1f24cc00f7c2f80c27cb85e4b234e091 (diff)
downloadqemu-dd7520f0646985b08024c73ba2285c31d7318755.tar.gz
qemu-dd7520f0646985b08024c73ba2285c31d7318755.tar.bz2
qemu-dd7520f0646985b08024c73ba2285c31d7318755.zip
error: don't delay error message construction
Today, the error message is only constructed when it's used. This commit changes that to construct the error message when the error object is built (ie. when the error is reported). This simplifies the Error object. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'error.c')
-rw-r--r--error.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/error.c b/error.c
index 3a62592261..2ade99b080 100644
--- a/error.c
+++ b/error.c
@@ -20,7 +20,6 @@
struct Error
{
QDict *obj;
- const char *fmt;
char *msg;
};
@@ -39,7 +38,7 @@ void error_set(Error **errp, const char *fmt, ...)
va_start(ap, fmt);
err->obj = qobject_to_qdict(qobject_from_jsonv(fmt, &ap));
va_end(ap);
- err->fmt = fmt;
+ err->msg = qerror_format(fmt, err->obj);
*errp = err;
}
@@ -50,7 +49,6 @@ Error *error_copy(const Error *err)
err_new = g_malloc0(sizeof(*err));
err_new->msg = g_strdup(err->msg);
- err_new->fmt = err->fmt;
err_new->obj = err->obj;
QINCREF(err_new->obj);
@@ -64,10 +62,6 @@ bool error_is_set(Error **errp)
const char *error_get_pretty(Error *err)
{
- if (err->msg == NULL) {
- err->msg = qerror_format(err->fmt, err->obj);
- }
-
return err->msg;
}