On 2019-10-02 14:55, Kyle Evans wrote:
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.


Feel free to submit a patch. Maybe you need to make a new option for user-space like WITH_USB_DEBUG ....

--HPS

_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to