mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-12-16 08:56:42 -05:00
Fix the return value of snd_card_load()
Fix the return value of snd_card_load() to follow the document, 0 = not present, 1 = preset. The other parts calling snd_card_load() are fixed, too.
This commit is contained in:
parent
a12f75afb9
commit
0350a615b7
1 changed files with 8 additions and 7 deletions
|
|
@ -61,9 +61,9 @@ int snd_card_load(int card)
|
||||||
#endif
|
#endif
|
||||||
if (open_dev >= 0) {
|
if (open_dev >= 0) {
|
||||||
close (open_dev);
|
close (open_dev);
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
return open_dev ? 1 : 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -85,7 +85,7 @@ int snd_card_next(int *rcard)
|
||||||
card = *rcard;
|
card = *rcard;
|
||||||
card = card < 0 ? 0 : card + 1;
|
card = card < 0 ? 0 : card + 1;
|
||||||
for (; card < 32; card++) {
|
for (; card < 32; card++) {
|
||||||
if (!snd_card_load(card)) {
|
if (snd_card_load(card)) {
|
||||||
*rcard = card;
|
*rcard = card;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
@ -112,15 +112,16 @@ int snd_card_get_index(const char *string)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
if ((isdigit(*string) && *(string + 1) == 0) ||
|
if ((isdigit(*string) && *(string + 1) == 0) ||
|
||||||
(isdigit(*string) && isdigit(*(string + 1)) && *(string + 2) == 0)) {
|
(isdigit(*string) && isdigit(*(string + 1)) && *(string + 2) == 0)) {
|
||||||
sscanf(string, "%i", &card);
|
if (sscanf(string, "%i", &card) != 1)
|
||||||
|
return -EINVAL;
|
||||||
if (card < 0 || card > 31)
|
if (card < 0 || card > 31)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
if (snd_card_load(card) >= 0)
|
if (snd_card_load(card))
|
||||||
return card;
|
return card;
|
||||||
return -EINVAL;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
for (card = 0; card < 32; card++) {
|
for (card = 0; card < 32; card++) {
|
||||||
if (snd_card_load(card) < 0)
|
if (! snd_card_load(card))
|
||||||
continue;
|
continue;
|
||||||
if (snd_ctl_hw_open(&handle, NULL, card, 0) < 0)
|
if (snd_ctl_hw_open(&handle, NULL, card, 0) < 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue