#ifndef ERROR_H
#define ERROR_H
+#include "compiler.h"
#include <stdbool.h>
/**
* Currently, qerror.h defines these error formats. This function is not
* meant to be used outside of QEMU.
*/
-void error_set(Error **err, const char *fmt, ...)
- __attribute__((format(printf, 2, 3)));
+void error_set(Error **err, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
/**
* Returns true if an indirect pointer to an error is pointing to a valid
*/
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.
*/