]> sigrok.org Git - libsigrok.git/blobdiff - src/hwdriver.c
Use g_malloc0() consistently, simplify error handling.
[libsigrok.git] / src / hwdriver.c
index 81e7b588704fe30db6be3489288d02416dd9045f..ca579f6741780fa2464aab37d3c462bc9eafb836 100644 (file)
@@ -395,8 +395,7 @@ SR_PRIV struct sr_config *sr_config_new(uint32_t key, GVariant *data)
 {
        struct sr_config *src;
 
-       if (!(src = g_try_malloc(sizeof(struct sr_config))))
-               return NULL;
+       src = g_malloc0(sizeof(struct sr_config));
        src->key = key;
        src->data = g_variant_ref_sink(data);
 
@@ -442,6 +441,8 @@ static int check_key(const struct sr_dev_driver *driver,
                return SR_ERR_ARG;
        }
        opstr = op == SR_CONF_GET ? "get" : op == SR_CONF_SET ? "set" : "list";
+       sr_spew("sr_config_%s(): key %d (%s) sdi %p cg %s", opstr, key,
+                       srci->id, sdi, cg ? cg->name : "NULL");
 
        if (sr_config_list(driver, sdi, cg, SR_CONF_DEVICE_OPTIONS, &gvar_opts) != SR_OK) {
                /* Driver publishes no options. */
@@ -614,9 +615,9 @@ SR_API int sr_config_list(const struct sr_dev_driver *driver,
        int ret;
 
        if (!driver || !data)
-               ret = SR_ERR;
+               return SR_ERR;
        else if (!driver->config_list)
-               ret = SR_ERR_ARG;
+               return SR_ERR_ARG;
        else if (key != SR_CONF_SCAN_OPTIONS && key != SR_CONF_DEVICE_OPTIONS) {
                if (check_key(driver, sdi, cg, key, SR_CONF_LIST) != SR_OK)
                        return SR_ERR_ARG;