All of lore.kernel.org
 help / color / mirror / Atom feed
* Question about card names
@ 2019-05-29  4:41 Kuninori Morimoto
  2019-05-29  4:56 ` Kuninori Morimoto
  2019-05-29  5:29 ` Takashi Iwai
  0 siblings, 2 replies; 4+ messages in thread
From: Kuninori Morimoto @ 2019-05-29  4:41 UTC (permalink / raw)
  To: Linux-ALSA


Hi ALSA ML

snd_soc_instantiate_card() setups card->snd_card's
"shortname", "longname", "driver" names. (= 1,2,3).

But, it cares only card->snd_card->driver (= 4).
I think we need to care about all naming, but why only driver ??

	static int snd_soc_instantiate_card(struct snd_soc_card *card)
	{
		...
1=>		snprintf(card->snd_card->shortname, sizeof(card->snd_card->shortname),
			 "%s", card->name);
2=>		snprintf(card->snd_card->longname, sizeof(card->snd_card->longname),
			 "%s", card->long_name ? card->long_name : card->name);
3=>		snprintf(card->snd_card->driver, sizeof(card->snd_card->driver),
			 "%s", card->driver_name ? card->driver_name : card->name);
		for (i = 0; i < ARRAY_SIZE(card->snd_card->driver); i++) {
			switch (card->snd_card->driver[i]) {
x=>			case '_':
x=>			case '-':
			case '\0':
				break;
			default:
				if (!isalnum(card->snd_card->driver[i]))
4=>					card->snd_card->driver[i] = '_';
				break;
			}
		}
		...
	}

And, it seems in this loop, it breaks check if it finds "_" or "-" (= x).
If my understanding was correct,
the naming "abcd??efg" will be fixed to "abcd__efg",
but, it do nothing if name was for example "-abcd??efg".
Is this bug ??

Thank you for your help !!
Best regards
---
Kuninori Morimoto

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-05-29  6:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-29  4:41 Question about card names Kuninori Morimoto
2019-05-29  4:56 ` Kuninori Morimoto
2019-05-29  5:29 ` Takashi Iwai
2019-05-29  6:12   ` Kuninori Morimoto

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.