if (snd_mixer_selem_is_enumerated(elem)) {
int i, items;
unsigned int idx;
- char itemname[40];
+ /*
+ * See snd_ctl_elem_init_enum_names() in
+ * sound/core/control.c.
+ */
+ char itemname[64];
items = snd_mixer_selem_get_enum_items(elem);
printf(" Items:");
for (i = 0; i < items; i++) {
{
char *ptr = *ptrp;
int items, i, len;
- char name[40];
+
+ /* See snd_ctl_elem_init_enum_names() in sound/core/control.c. */
+ char name[64];
items = snd_mixer_selem_get_enum_items(elem);
if (items <= 0)
for (i = 0; i < items; i++) {
if (snd_mixer_selem_get_enum_item_name(elem, i, sizeof(name)-1, name) < 0)
continue;
+
len = strlen(name);
if (! strncmp(name, ptr, len)) {
if (! ptr[len] || ptr[len] == ',' || ptr[len] == '\n') {