Simplified and fixed semantic

This commit is contained in:
Abramo Bagnara 2001-06-15 11:49:19 +00:00
parent 58808e42b6
commit cf325c68e3

View file

@ -1451,25 +1451,21 @@ int snd_config_search_alias(snd_config_t *config,
const char *base, const char *key, const char *base, const char *key,
snd_config_t **result) snd_config_t **result)
{ {
snd_config_t *res; snd_config_t *res = NULL;
int err; int err;
assert(config && key); assert(config && key);
if (base) { do {
err = snd_config_searchv(config, &res, base, key, NULL);
} else {
err = snd_config_search(config, key, &res); err = snd_config_search(config, key, &res);
} if (err < 0) {
if (err < 0) if (!base)
return err; break;
while (snd_config_get_string(res, &base) >= 0) { err = snd_config_searchv(config, &res, base, key, NULL);
err = snd_config_search(config, base, &res); if (err < 0)
if (err >= 0) { break;
if (snd_config_get_string(res, &key) >= 0)
err = snd_config_search(res, key, &res);
} }
if (err < 0) } while (snd_config_get_string(res, &key) >= 0);
break; if (!res)
} return err;
if (result) if (result)
*result = res; *result = res;
return 0; return 0;