Message ID | 20211209134054.20757-1-jgross@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] tools/libs/ctrl: Save errno only once in *PRINTF() and *ERROR() | expand |
On 09.12.2021 14:40, Juergen Gross wrote: > 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 <jgross@suse.com> > Reviewed-by: Jan Beulich <jbeulich@suse.com> > --- > V2: > - style corrections (Jan Beulich) Thanks. Sadly there still is ... > --- 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 ) ... a stray blank ahead of the closing parenthesis here; I'm sure this can be taken care of while committing. Jan > +#define PERROR(_m, _a...) \ > + xc_report_error(xch, XC_INTERNAL_ERROR, _m " (%d = %s)", \ > + ## _a, errno, xc_strerror(xch, errno)) > > /* > * HYPERCALL ARGUMENT BUFFERS >
On 09/12/2021 14:50, Jan Beulich wrote: > On 09.12.2021 14:40, Juergen Gross wrote: >> 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 <jgross@suse.com> >> Reviewed-by: Jan Beulich <jbeulich@suse.com> >> --- >> V2: >> - style corrections (Jan Beulich) > Thanks. Sadly there still is ... > >> --- 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 ) > ... a stray blank ahead of the closing parenthesis here; I'm sure this > can be taken care of while committing. Yeah - I'll fix on commit seeing as I'm doing a sweep right now. ~Andrew
diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private.h index 2e483590e6..abac9072a0 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