Add sr_config_free()

Due to struct sr_config now containing a GVariant, this needs to be
cleaned up after use properly. This is a helper function for that.
This commit is contained in:
Bert Vermeulen 2013-03-25 20:23:13 +01:00
parent 003595ac37
commit 722db131a4
2 changed files with 14 additions and 0 deletions

View File

@ -368,6 +368,19 @@ SR_PRIV struct sr_config *sr_config_new(int key, GVariant *data)
return src;
}
SR_PRIV void sr_config_free(struct sr_config *src)
{
if (!src || !src->data) {
sr_err("%s: invalid data!", __func__);
return;
}
g_variant_unref(src->data);
g_free(src);
}
/**
* Returns information about the given driver or device instance.
*

View File

@ -114,6 +114,7 @@ SR_PRIV void sr_serial_dev_inst_free(struct sr_serial_dev_inst *serial);
SR_PRIV void sr_hw_cleanup_all(void);
SR_PRIV struct sr_config *sr_config_new(int key, GVariant *data);
SR_PRIV void sr_config_free(struct sr_config *src);
SR_PRIV int sr_source_remove(int fd);
SR_PRIV int sr_source_add(int fd, int events, int timeout,
sr_receive_data_callback_t cb, void *cb_data);