diff options
Diffstat (limited to 'src/pcm/pcm.c')
-rw-r--r-- | src/pcm/pcm.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c index 78f01c42..4d5478c7 100644 --- a/src/pcm/pcm.c +++ b/src/pcm/pcm.c @@ -591,15 +591,16 @@ int snd_pcm_open(snd_pcm_t **pcmp, const char *name, ERR("Unknown PCM %s", name); return -ENOENT; } - if (snd_config_type(pcm_conf) != SND_CONFIG_TYPE_COMPOUND) { + if (snd_config_get_type(pcm_conf) != SND_CONFIG_TYPE_COMPOUND) { ERR("Invalid type for PCM %s definition", name); return -EINVAL; } err = snd_config_search(pcm_conf, "stream", &conf); if (err >= 0) { - err = snd_config_string_get(conf, &str); + const char *id = snd_config_get_id(conf); + err = snd_config_get_string(conf, &str); if (err < 0) { - ERR("Invalid type for %s", conf->id); + ERR("Invalid type for %s", id); return err; } if (strcmp(str, "playback") == 0) { @@ -609,7 +610,7 @@ int snd_pcm_open(snd_pcm_t **pcmp, const char *name, if (stream != SND_PCM_STREAM_CAPTURE) return -EINVAL; } else { - ERR("Invalid value for %s", conf->id); + ERR("Invalid value for %s", id); return -EINVAL; } } @@ -618,9 +619,9 @@ int snd_pcm_open(snd_pcm_t **pcmp, const char *name, ERR("type is not defined"); return err; } - err = snd_config_string_get(conf, &str); + err = snd_config_get_string(conf, &str); if (err < 0) { - ERR("Invalid type for %s", conf->id); + ERR("Invalid type for %s", snd_config_get_id(conf)); return err; } err = snd_config_searchv(snd_config, &type_conf, "pcmtype", str, 0); @@ -629,25 +630,26 @@ int snd_pcm_open(snd_pcm_t **pcmp, const char *name, return err; } snd_config_foreach(i, type_conf) { - snd_config_t *n = snd_config_entry(i); - if (strcmp(n->id, "comment") == 0) + snd_config_t *n = snd_config_iterator_entry(i); + const char *id = snd_config_get_id(n); + if (strcmp(id, "comment") == 0) continue; - if (strcmp(n->id, "lib") == 0) { - err = snd_config_string_get(n, &lib); + if (strcmp(id, "lib") == 0) { + err = snd_config_get_string(n, &lib); if (err < 0) { - ERR("Invalid type for %s", n->id); + ERR("Invalid type for %s", id); return -EINVAL; } continue; } - if (strcmp(n->id, "open") == 0) { - err = snd_config_string_get(n, &open); + if (strcmp(id, "open") == 0) { + err = snd_config_get_string(n, &open); if (err < 0) { - ERR("Invalid type for %s", n->id); + ERR("Invalid type for %s", id); return -EINVAL; } continue; - ERR("Unknown field %s", n->id); + ERR("Unknown field %s", id); return -EINVAL; } } |