mirror of https://github.com/xemu-project/xemu.git
Error: Introduce error_copy()
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
parent
a4acc064f7
commit
79020cfcbb
13
error.c
13
error.c
|
@ -43,6 +43,19 @@ void error_set(Error **errp, const char *fmt, ...)
|
|||
*errp = err;
|
||||
}
|
||||
|
||||
Error *error_copy(const Error *err)
|
||||
{
|
||||
Error *err_new;
|
||||
|
||||
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);
|
||||
|
||||
return err_new;
|
||||
}
|
||||
|
||||
bool error_is_set(Error **errp)
|
||||
{
|
||||
return (errp && *errp);
|
||||
|
|
5
error.h
5
error.h
|
@ -34,6 +34,11 @@ void error_set(Error **err, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
|
|||
*/
|
||||
bool error_is_set(Error **err);
|
||||
|
||||
/**
|
||||
* Returns an exact copy of the error passed as an argument.
|
||||
*/
|
||||
Error *error_copy(const Error *err);
|
||||
|
||||
/**
|
||||
* Get a human readable representation of an error object.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue