list_init(&_ctx->usb_devs);
list_init(&_ctx->open_devs);
- /* default context should be initialized before calling usbi_dbg */
- if (!ctx) {
- usbi_default_context = _ctx;
- default_context_refcnt = 1;
- usbi_dbg(usbi_default_context, "created default context");
-
+ /* apply options to new contexts (also default context being created) */
+ if (ctx || !usbi_default_context) {
for (enum libusb_option option = 0 ; option < LIBUSB_OPTION_MAX ; option++) {
if (LIBUSB_OPTION_LOG_LEVEL == option || !default_context_options[option].is_set) {
continue;
}
}
+ /* default context must be initialized before calling usbi_dbg */
+ if (!ctx) {
+ usbi_default_context = _ctx;
+ default_context_refcnt = 1;
+ usbi_dbg(usbi_default_context, "created default context");
+ }
+
usbi_dbg(_ctx, "libusb v%u.%u.%u.%u%s", libusb_version_internal.major, libusb_version_internal.minor,
libusb_version_internal.micro, libusb_version_internal.nano, libusb_version_internal.rc);
goto err_io_exit;
}
-
if (ctx)
*ctx = _ctx;