]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/hp-3478a/api.c
gitignore: Add files/folders used or created by the clangd language server
[libsigrok.git] / src / hardware / hp-3478a / api.c
index 0c461bb1740bebd4c4c4f1e41b892cfac1248057..19d96ee155f352a0cc2e86b04931df1d7c7a30b0 100644 (file)
@@ -102,7 +102,7 @@ static const char *digits[] = {
        "3.5", "4.5", "5.5",
 };
 
-/** Mapping between devc->spec_digits and digits string. */
+/** Mapping between devc->digits and digits string. */
 static const char *digits_map[] = {
        "", "", "", "", "3.5", "4.5", "5.5",
 };
@@ -192,7 +192,9 @@ static int config_get(uint32_t key, GVariant **data,
 
        (void)cg;
 
-       devc = sdi ? sdi->priv : NULL;
+       if (!sdi)
+               return SR_ERR_ARG;
+       devc = sdi->priv;
 
        switch (key) {
        case SR_CONF_LIMIT_SAMPLES:
@@ -225,7 +227,7 @@ static int config_get(uint32_t key, GVariant **data,
                ret = hp_3478a_get_status_bytes(sdi);
                if (ret != SR_OK)
                        return ret;
-               *data = g_variant_new_string(digits_map[devc->spec_digits]);
+               *data = g_variant_new_string(digits_map[devc->digits]);
                break;
        default:
                return SR_ERR_NA;
@@ -247,7 +249,9 @@ static int config_set(uint32_t key, GVariant *data,
 
        (void)cg;
 
-       devc = sdi ? sdi->priv : NULL;
+       if (!sdi)
+               return SR_ERR_ARG;
+       devc = sdi->priv;
 
        switch (key) {
        case SR_CONF_LIMIT_SAMPLES:
@@ -294,7 +298,11 @@ static int config_list(uint32_t key, GVariant **data,
        GVariant *gvar, *arr[2];
        GVariantBuilder gvb;
 
-       devc = sdi ? sdi->priv : NULL;
+       /* Only handle standard keys when no device instance is given. */
+       if (!sdi)
+               return STD_CONFIG_LIST(key, data, sdi, cg, scanopts, drvopts, devopts);
+
+       devc = sdi->priv;
 
        switch (key) {
        case SR_CONF_SCAN_OPTIONS: