X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Funi-t-ut32x%2Fapi.c;h=8c11497582c480057600c16f48f741bdb95901d4;hb=366ccb8ab75f7291a11e677034085c702a1c5361;hp=d9eff157aa88c8c81f2f327ef3809ae28da54b74;hpb=dd7a72ea697a172032f5473b0ddff5e8d47222f4;p=libsigrok.git diff --git a/src/hardware/uni-t-ut32x/api.c b/src/hardware/uni-t-ut32x/api.c index d9eff157..8c114975 100644 --- a/src/hardware/uni-t-ut32x/api.c +++ b/src/hardware/uni-t-ut32x/api.c @@ -178,7 +178,7 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sdi, const struct sr_channel_group *cg) { struct dev_context *devc; - const char *tmp_str; + int idx; (void)cg; @@ -189,13 +189,9 @@ static int config_set(uint32_t key, GVariant *data, devc->limit_samples = g_variant_get_uint64(data); break; case SR_CONF_DATA_SOURCE: - tmp_str = g_variant_get_string(data, NULL); - if (!strcmp(tmp_str, "Live")) - devc->data_source = DATA_SOURCE_LIVE; - else if (!strcmp(tmp_str, "Memory")) - devc->data_source = DATA_SOURCE_MEMORY; - else - return SR_ERR; + if ((idx = std_str_idx(data, ARRAY_AND_SIZE(data_sources))) < 0) + return SR_ERR_ARG; + devc->data_source = idx; break; default: return SR_ERR_NA;