X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fbackend.c;h=379478a0704dd73b4ed366e767f57ba06146d21e;hb=5d8b3913d4dc450b8af0ad028a379be775e278ef;hp=f58ab7e94ad0a50b24af319604f0606517ac7c21;hpb=d1d3d2e0c4f74625f6f8379a3128412c600ad98d;p=libsigrok.git diff --git a/src/backend.c b/src/backend.c index f58ab7e9..379478a0 100644 --- a/src/backend.c +++ b/src/backend.c @@ -448,8 +448,6 @@ static int sanity_check_all_transform_modules(void) return ret; } -extern struct sr_dev_driver *sr_driver_list_start; - /** * Initialize libsigrok. * @@ -470,8 +468,6 @@ SR_API int sr_init(struct sr_context **ctx) { int ret = SR_ERR; struct sr_context *context; - struct sr_dev_driver **drivers; - GArray *array; #ifdef _WIN32 WSADATA wsadata; #endif @@ -485,12 +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 (drivers = (&sr_driver_list_start) + 1; *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.");