err->err_class = err_class;
if (errp == &error_abort) {
- error_report("%s", error_get_pretty(err));
+ error_report_err(err);
abort();
}
err->err_class = err_class;
if (errp == &error_abort) {
- error_report("%s", error_get_pretty(err));
+ error_report_err(err);
abort();
}
err->err_class = err_class;
if (errp == &error_abort) {
- error_report("%s", error_get_pretty(err));
+ error_report_err(err);
abort();
}
return err_new;
}
-bool error_is_set(Error **errp)
-{
- return (errp && *errp);
-}
-
ErrorClass error_get_class(const Error *err)
{
return err->err_class;
return err->msg;
}
+void error_report_err(Error *err)
+{
+ error_report("%s", error_get_pretty(err));
+ error_free(err);
+}
+
void error_free(Error *err)
{
if (err) {
}
}
-void error_propagate(Error **dst_err, Error *local_err)
+void error_propagate(Error **dst_errp, Error *local_err)
{
- if (local_err && dst_err == &error_abort) {
- error_report("%s", error_get_pretty(local_err));
+ if (local_err && dst_errp == &error_abort) {
+ error_report_err(local_err);
abort();
- } else if (dst_err && !*dst_err) {
- *dst_err = local_err;
+ } else if (dst_errp && !*dst_errp) {
+ *dst_errp = local_err;
} else if (local_err) {
error_free(local_err);
}