X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fdrivers.c;h=c6165b6360c71778b63b5ffcf7b656a6b06a72a2;hb=55fb76b34826a287240bebeeda688e4c465b4751;hp=6200e5ee4233211e91b0df2e34b4bc65199023e6;hpb=5d8b3913d4dc450b8af0ad028a379be775e278ef;p=libsigrok.git diff --git a/src/drivers.c b/src/drivers.c index 6200e5ee..c6165b63 100644 --- a/src/drivers.c +++ b/src/drivers.c @@ -18,6 +18,7 @@ * along with this program. If not, see . */ +#include #include #include #include "libsigrok-internal.h" @@ -26,7 +27,7 @@ * sr_driver_list is a special section contains pointers to all the hardware * drivers built into the library. The __start and __stop symbols are * auto-generated by the linker (OSX needs a little help) and point to the start - * and end of the section. They are used to iterate over the list of all + * and end of the section. They are used to iterate over the list of all * drivers. */ #ifdef __APPLE__ @@ -42,15 +43,16 @@ extern struct sr_dev_driver *__stop_sr_driver_list; * * @param ctx Pointer to a libsigrok context struct. Must not be NULL. */ -SR_PRIV void sr_drivers_init(struct sr_context *ctx) +SR_API void sr_drivers_init(struct sr_context *ctx) { - struct sr_dev_driver **drivers; GArray *array; array = g_array_new(TRUE, FALSE, sizeof(struct sr_dev_driver *)); - for (drivers = &__start_sr_driver_list; drivers < &__stop_sr_driver_list; - drivers++) +#ifdef HAVE_DRIVERS + for (struct sr_dev_driver **drivers = &__start_sr_driver_list; + drivers < &__stop_sr_driver_list; drivers++) g_array_append_val(array, *drivers); +#endif ctx->driver_list = (struct sr_dev_driver **)array->data; g_array_free(array, FALSE); }