- tmp = g_variant_get_string(data, NULL);
- for (i = 0; i < model->num_trigger_sources; i++) {
- if (g_strcmp0(tmp, (*model->trigger_sources)[i]) != 0)
- continue;
- state->trigger_source = i;
- g_snprintf(command, sizeof(command),
- (*model->scpi_dialect)[SCPI_CMD_SET_TRIGGER_SOURCE],
- (*model->trigger_sources)[i]);
-
- ret = sr_scpi_send(sdi->conn, command);
- break;
- }
+ if ((idx = std_str_idx(data, *model->trigger_sources, model->num_trigger_sources)) < 0)
+ return SR_ERR_ARG;
+ state->trigger_source = idx;
+ g_snprintf(command, sizeof(command),
+ (*model->scpi_dialect)[SCPI_CMD_SET_TRIGGER_SOURCE],
+ (*model->trigger_sources)[idx]);
+ ret = sr_scpi_send(sdi->conn, command);