Fix warnings when building without logging and assertions

Note: "UNUSED(refcnt);" has been added at merge time on line 1287 of
core.c in addition to other changes contained within the PR.

Closes #1508
diff --git a/libusb/core.c b/libusb/core.c
index 8e74d77..d9dd546 100644
--- a/libusb/core.c
+++ b/libusb/core.c
@@ -1284,6 +1284,7 @@
 
 	refcnt = usbi_atomic_inc(&dev->refcnt);
 	assert(refcnt >= 2);
+	UNUSED(refcnt);
 
 	return dev;
 }
diff --git a/libusb/io.c b/libusb/io.c
index fa26ffa..d5b42fc 100644
--- a/libusb/io.c
+++ b/libusb/io.c
@@ -2853,9 +2853,11 @@
 		if (!to_cancel)
 			break;
 
+#ifdef ENABLE_LOGGING
 		struct libusb_transfer *transfer_to_cancel = USBI_TRANSFER_TO_LIBUSB_TRANSFER(to_cancel);
 		usbi_dbg(ctx, "cancelling transfer %p from disconnect",
 			 (void *) transfer_to_cancel);
+#endif
 
 		usbi_mutex_lock(&to_cancel->lock);
 		usbi_backend.clear_transfer_priv(to_cancel);
diff --git a/libusb/os/darwin_usb.c b/libusb/os/darwin_usb.c
index ff0d9ef..bef3388 100644
--- a/libusb/os/darwin_usb.c
+++ b/libusb/os/darwin_usb.c
@@ -2652,7 +2652,9 @@
   struct libusb_transfer *transfer = USBI_TRANSFER_TO_LIBUSB_TRANSFER(itransfer);
   struct darwin_transfer_priv *tpriv = usbi_get_transfer_priv(itransfer);
   const unsigned char max_transfer_type = LIBUSB_TRANSFER_TYPE_BULK_STREAM;
+#ifdef ENABLE_LOGGING
   const char *transfer_types[] = {"control", "isoc", "bulk", "interrupt", "bulk-stream", NULL};
+#endif
   bool is_isoc = LIBUSB_TRANSFER_TYPE_ISOCHRONOUS == transfer->type;
   struct libusb_context *ctx = ITRANSFER_CTX (itransfer);
 
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index d65fce8..0241555 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 11969
+#define LIBUSB_NANO 11970