From: Juergen Gross Date: Thu, 9 Dec 2021 13:40:54 +0000 (+0100) Subject: tools/libs/ctrl: Save errno only once in *PRINTF() and *ERROR() X-Git-Tag: archive/raspbian/4.17.0-1+rpi1^2~33^2~1253 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f10202d5c7c296c52a69775a4faab7db1b2e478d;p=xen.git tools/libs/ctrl: Save errno only once in *PRINTF() and *ERROR() All *PRINTF() and *ERROR() macros are based on xc_reportv() which is saving and restoring errno in order to not modify it. There is no need to save and restore in those macros, too. Signed-off-by: Juergen Gross Reviewed-by: Jan Beulich --- diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private.h index 2e483590e6..6fc98a35a8 100644 --- a/tools/libs/ctrl/xc_private.h +++ b/tools/libs/ctrl/xc_private.h @@ -122,28 +122,18 @@ void xc_report_progress_step(xc_interface *xch, /* 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