svn commit: r338679 - head/lib/libusb
Kyle Evans
kevans at freebsd.org
Wed Oct 2 12:59:09 UTC 2019
On Wed, Oct 2, 2019 at 7:55 AM Kyle Evans <kevans at freebsd.org> wrote:
>
> On Fri, Sep 14, 2018 at 8:41 AM Hans Petter Selasky
> <hselasky at 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+freebsd at 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.
>
Sorry, I missed that the (ctx)->debug checks just moved a little
further in... debugging a little better, because LIBUSB_DEBUG=0
doesn't seem to do the trick for this person.
More information about the svn-src-all
mailing list