On Fri, Sep 14, 2018 at 8:41 AM Hans Petter Selasky <hsela...@freebsd.org> wrote: > > Author: hselasky > Date: Fri Sep 14 13:41:37 2018 > New Revision: 338679 > URL: https://svnweb.freebsd.org/changeset/base/338679 > > Log: > Improve LibUSB debugging by simultaneously allowing both function > and transfer prints. Make sure the debug level comes from the > correct USB context. > > Found by: Ludovic Rousseau <ludovic.rousseau+free...@gmail.com> > PR: 231264 > MFC after: 1 week > Approved by: re (kib) > Sponsored by: Mellanox Technologies > > Modified: > head/lib/libusb/libusb10.h > head/lib/libusb/libusb10_io.c > > Modified: head/lib/libusb/libusb10.h > ============================================================================== > --- head/lib/libusb/libusb10.h Fri Sep 14 01:52:34 2018 (r338678) > +++ head/lib/libusb/libusb10.h Fri Sep 14 13:41:37 2018 (r338679) > @@ -41,22 +41,24 @@ > #define HOTPLUG_LOCK(ctx) pthread_mutex_lock(&(ctx)->hotplug_lock) > #define HOTPLUG_UNLOCK(ctx) pthread_mutex_unlock(&(ctx)->hotplug_lock) > > -#define DPRINTF(ctx, dbg, format, args...) do { \ > - if ((ctx)->debug == dbg) { \ > - switch (dbg) { \ > - case LIBUSB_DEBUG_FUNCTION: \ > - printf("LIBUSB_FUNCTION: " \ > - format "\n", ## args); \ > - break; \ > - case LIBUSB_DEBUG_TRANSFER: \ > - printf("LIBUSB_TRANSFER: " \ > - format "\n", ## args); \ > - break; \ > - default: \ > - break; \ > - } \ > - } \ > -} while(0) > +#define DPRINTF(ctx, dbg, format, ...) do { \ > + switch (dbg) { \ > + case LIBUSB_DEBUG_FUNCTION: \ > + if ((ctx)->debug & LIBUSB_DEBUG_FUNCTION) { \ > + printf("LIBUSB_FUNCTION: " \ > + format "\n", ## __VA_ARGS__); \ > + } \ > + break; \ > + case LIBUSB_DEBUG_TRANSFER: \ > + if ((ctx)->debug & LIBUSB_DEBUG_TRANSFER) { \ > + printf("LIBUSB_TRANSFER: " \ > + format "\n", ## __VA_ARGS__); \ > + } \ > + break; \ > + default: \ > + break; \ > + } \ > +} while (0) > > /* internal structures */ >
Hi, How are people/users of libusb supposed to disable these messages after this? The only thing stopping them was the debug level in the context, I guess, because DPRINTF is always compiled to this and the users of DPRINTF are just invoking it all willy-nilly. Thanks, Kyle Evans _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"