/* anamorphic macros: struct xc_interface *xch must be in scope */
-#define IPRINTF(_f, _a...) do { int IPRINTF_errno = errno; \
- xc_report(xch, xch->error_handler, XTL_INFO,0, _f , ## _a); \
- errno = IPRINTF_errno; \
- } while (0)
-#define DPRINTF(_f, _a...) do { int DPRINTF_errno = errno; \
- xc_report(xch, xch->error_handler, XTL_DETAIL,0, _f , ## _a); \
- errno = DPRINTF_errno; \
- } while (0)
-#define DBGPRINTF(_f, _a...) do { int DBGPRINTF_errno = errno; \
- xc_report(xch, xch->error_handler, XTL_DEBUG,0, _f , ## _a); \
- errno = DBGPRINTF_errno; \
- } while (0)
-
-#define ERROR(_m, _a...) do { int ERROR_errno = errno; \
- xc_report_error(xch,XC_INTERNAL_ERROR,_m , ## _a ); \
- errno = ERROR_errno; \
- } while (0)
-#define PERROR(_m, _a...) do { int PERROR_errno = errno; \
- xc_report_error(xch,XC_INTERNAL_ERROR,_m " (%d = %s)", \
- ## _a , errno, xc_strerror(xch, errno)); \
- errno = PERROR_errno; \
- } while (0)
+#define IPRINTF(_f, _a...) \
+ xc_report(xch, xch->error_handler, XTL_INFO, 0, _f, ## _a)
+#define DPRINTF(_f, _a...) \
+ xc_report(xch, xch->error_handler, XTL_DETAIL, 0, _f, ## _a)
+#define DBGPRINTF(_f, _a...) \
+ xc_report(xch, xch->error_handler, XTL_DEBUG, 0, _f, ## _a)
+
+#define ERROR(_m, _a...) \
+ xc_report_error(xch, XC_INTERNAL_ERROR, _m, ## _a)
+#define PERROR(_m, _a...) \
+ xc_report_error(xch, XC_INTERNAL_ERROR, _m " (%d = %s)", \
+ ## _a, errno, xc_strerror(xch, errno))
/*
* HYPERCALL ARGUMENT BUFFERS