X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fbackend.c;h=379478a0704dd73b4ed366e767f57ba06146d21e;hb=417412c8f88bd71fe5da5c80db0866d48c6908b3;hp=e829912e914d071dcebf3aa148b01f0bc6c52f1b;hpb=797f1a0cf3757921ffad5a403a9e7d2dc2e38ee1;p=libsigrok.git diff --git a/src/backend.c b/src/backend.c index e829912e..379478a0 100644 --- a/src/backend.c +++ b/src/backend.c @@ -468,8 +468,6 @@ SR_API int sr_init(struct sr_context **ctx) { int ret = SR_ERR; struct sr_context *context; - struct sr_dev_driver ***lists, **drivers; - GArray *array; #ifdef _WIN32 WSADATA wsadata; #endif @@ -483,13 +481,7 @@ SR_API int sr_init(struct sr_context **ctx) context = g_malloc0(sizeof(struct sr_context)); - /* Generate ctx->driver_list at runtime. */ - array = g_array_new(TRUE, FALSE, sizeof(struct sr_dev_driver *)); - for (lists = drivers_lists; *lists; lists++) - for (drivers = *lists; *drivers; drivers++) - g_array_append_val(array, *drivers); - context->driver_list = (struct sr_dev_driver **)array->data; - g_array_free(array, FALSE); + sr_drivers_init(context); if (sanity_check_all_drivers(context) < 0) { sr_err("Internal driver error(s), aborting.");