X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hwplugin.c;h=06cd96905397c4c42d9ca2f97947a4fa8d74463c;hb=b2ff95063a845ec7130d97fc3d8e9c65fe45f902;hp=626e448389874d200417f0db1f3679e3df76b476;hpb=1a081ca67d63a0bd933a3d715792d85afd437296;p=libsigrok.git diff --git a/hwplugin.c b/hwplugin.c index 626e4483..06cd9690 100644 --- a/hwplugin.c +++ b/hwplugin.c @@ -58,7 +58,7 @@ extern struct sr_device_plugin zeroplus_logic_cube_plugin_info; extern struct sr_device_plugin asix_sigma_plugin_info; #endif #ifdef HAVE_LA_CHRONOVU_LA8 -extern struct device_plugin chronovu_la8_plugin_info; +extern SR_PRIV struct device_plugin chronovu_la8_plugin_info; #endif #ifdef HAVE_LA_LINK_MSO19 extern struct sr_device_plugin link_mso19_plugin_info; @@ -135,7 +135,7 @@ SR_API int sr_init_hwplugins(struct sr_device_plugin *plugin) return num_initialized_devices; } -SR_API void sr_cleanup_hwplugins(void) +SR_PRIV void sr_cleanup_hwplugins(void) { struct sr_device_plugin *plugin; GSList *l; @@ -147,13 +147,15 @@ SR_API void sr_cleanup_hwplugins(void) } } -SR_API struct sr_device_instance *sr_device_instance_new(int index, int status, +SR_PRIV struct sr_device_instance *sr_device_instance_new(int index, int status, const char *vendor, const char *model, const char *version) { struct sr_device_instance *sdi; - if (!(sdi = g_malloc(sizeof(struct sr_device_instance)))) + if (!(sdi = g_try_malloc(sizeof(struct sr_device_instance)))) { + sr_err("hwplugin: %s: sdi malloc failed", __func__); return NULL; + } sdi->index = index; sdi->status = status; @@ -166,7 +168,7 @@ SR_API struct sr_device_instance *sr_device_instance_new(int index, int status, return sdi; } -SR_API struct sr_device_instance *sr_get_device_instance( +SR_PRIV struct sr_device_instance *sr_get_device_instance( GSList *device_instances, int device_index) { struct sr_device_instance *sdi; @@ -182,7 +184,7 @@ SR_API struct sr_device_instance *sr_get_device_instance( return NULL; } -SR_API void sr_device_instance_free(struct sr_device_instance *sdi) +SR_PRIV void sr_device_instance_free(struct sr_device_instance *sdi) { g_free(sdi->priv); g_free(sdi->vendor); @@ -198,8 +200,10 @@ SR_PRIV struct sr_usb_device_instance *sr_usb_device_instance_new(uint8_t bus, { struct sr_usb_device_instance *udi; - if (!(udi = malloc(sizeof(struct sr_usb_device_instance)))) + if (!(udi = g_try_malloc(sizeof(struct sr_usb_device_instance)))) { + sr_err("hwplugin: %s: udi malloc failed", __func__); return NULL; + } udi->bus = bus; udi->address = address; @@ -223,10 +227,12 @@ SR_PRIV struct sr_serial_device_instance *sr_serial_device_instance_new( { struct sr_serial_device_instance *serial; - if (!(serial = malloc(sizeof(struct sr_serial_device_instance)))) + if (!(serial = g_try_malloc(sizeof(struct sr_serial_device_instance)))) { + sr_err("hwplugin: %s: serial malloc failed", __func__); return NULL; + } - serial->port = strdup(port); + serial->port = g_strdup(port); serial->fd = fd; return serial; @@ -235,7 +241,7 @@ SR_PRIV struct sr_serial_device_instance *sr_serial_device_instance_new( SR_PRIV void sr_serial_device_instance_free( struct sr_serial_device_instance *serial) { - free(serial->port); + g_free(serial->port); } SR_API int sr_find_hwcap(int *capabilities, int hwcap) @@ -264,12 +270,12 @@ SR_API struct sr_hwcap_option *sr_find_hwcap_option(int hwcap) /* unnecessary level of indirection follows. */ -void sr_source_remove(int fd) +SR_PRIV void sr_source_remove(int fd) { sr_session_source_remove(fd); } -void sr_source_add(int fd, int events, int timeout, +SR_PRIV void sr_source_add(int fd, int events, int timeout, sr_receive_data_callback rcv_cb, void *user_data) { sr_session_source_add(fd, events, timeout, rcv_cb, user_data);