]> sigrok.org Git - sigrok-cli.git/commitdiff
device: rename channel group lookup routine
authorGerhard Sittig <redacted>
Sat, 23 May 2020 10:48:18 +0000 (12:48 +0200)
committerGerhard Sittig <redacted>
Mon, 3 Aug 2020 19:52:17 +0000 (21:52 +0200)
The select_channel_group() name was misleading, the routine did not
actively select a channel group, instead returned the lookup result
and left the activity to the caller. Rename the routine to improve
readability of call sites.

Address minor style nits in the routine body while we are here.

device.c
main.c
session.c
show.c
sigrok-cli.h

index 19192ecbb0b69b404529df45d374be955d1962c9..141e3cfd2c9edb35887c02a0a2ff3acb891c4f2c 100644 (file)
--- a/device.c
+++ b/device.c
@@ -63,7 +63,20 @@ GSList *device_scan(void)
        return devices;
 }
 
-struct sr_channel_group *select_channel_group(struct sr_dev_inst *sdi)
+/**
+ * Lookup a channel group from its name.
+ *
+ * Uses the previously stored option value to lookup a channel group.
+ * Returns a reference to the channel group when the lookup succeeded,
+ * or #NULL after lookup failure, or #NULL for the global channel group
+ * (the device's global parameters). Emits an error message when the
+ * lookup failed while a channel group's name was specified.
+ *
+ * @param[in] sdi Device instance.
+ *
+ * @returns The channel group, or #NULL for failed lookup.
+ */
+struct sr_channel_group *lookup_channel_group(struct sr_dev_inst *sdi)
 {
        struct sr_channel_group *cg;
        GSList *l, *channel_groups;
@@ -72,7 +85,6 @@ struct sr_channel_group *select_channel_group(struct sr_dev_inst *sdi)
                return NULL;
 
        channel_groups = sr_dev_inst_channel_groups_get(sdi);
-
        if (!channel_groups) {
                g_critical("This device does not have any channel groups.");
                return NULL;
@@ -80,9 +92,9 @@ struct sr_channel_group *select_channel_group(struct sr_dev_inst *sdi)
 
        for (l = channel_groups; l; l = l->next) {
                cg = l->data;
-               if (!g_ascii_strcasecmp(opt_channel_group, cg->name)) {
-                       return cg;
-               }
+               if (g_ascii_strcasecmp(opt_channel_group, cg->name) != 0)
+                       continue;
+               return cg;
        }
        g_critical("Invalid channel group '%s'", opt_channel_group);
 
diff --git a/main.c b/main.c
index aa4f1229888fa91f961cce2d88dd32e1cd93c997..2c1dcfed1f901f78d0056bdb85ef06dbfdcf1407 100644 (file)
--- a/main.c
+++ b/main.c
@@ -136,7 +136,7 @@ static void get_option(void)
                return;
        }
 
-       cg = select_channel_group(sdi);
+       cg = lookup_channel_group(sdi);
        if (!(ci = sr_key_info_name_get(SR_KEY_CONFIG, opt_get)))
                g_critical("Unknown option '%s'", opt_get);
 
index e8ec5a28ce3fc3bea3af7277dedc7727686bb006..cb8a1b4f27ab742f796d46a7e9cc2e47c40088c9 100644 (file)
--- a/session.c
+++ b/session.c
@@ -662,7 +662,7 @@ int set_dev_options(struct sr_dev_inst *sdi, GHashTable *args)
        while (g_hash_table_iter_next(&iter, &key, &value)) {
                if ((ret = opt_to_gvar(key, value, &src)) != 0)
                        return ret;
-               cg = select_channel_group(sdi);
+               cg = lookup_channel_group(sdi);
                if ((ret = maybe_config_set(sr_dev_inst_driver_get(sdi), sdi, cg,
                                src.key, src.data)) != SR_OK) {
                        g_critical("Failed to set device option '%s': %s.",
diff --git a/show.c b/show.c
index 8fbd0af157a028e959dec593f235c58b0ca4f399..a6573e5a3acea9e241b81ad80964f18f9fbbc20a 100644 (file)
--- a/show.c
+++ b/show.c
@@ -441,7 +441,7 @@ void show_dev_detail(void)
         * returned, or which values for them.
         */
        select_channels(sdi);
-       channel_group = select_channel_group(sdi);
+       channel_group = lookup_channel_group(sdi);
 
        if (!(opts = sr_dev_options(driver, sdi, channel_group)))
                /* Driver supports no device instance options. */
index 79a637aa3717fd5b0b68430c1df766ad160d12bb..40015fd2c106ede81243095008b385617cd6fe58 100644 (file)
@@ -56,7 +56,7 @@ void show_serial_ports(void);
 
 /* device.c */
 GSList *device_scan(void);
-struct sr_channel_group *select_channel_group(struct sr_dev_inst *sdi);
+struct sr_channel_group *lookup_channel_group(struct sr_dev_inst *sdi);
 
 /* session.c */
 struct df_arg_desc {