Re: Question about card names

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 29 May 2019 06:41:35 +0200,
Kuninori Morimoto wrote:
> 
> 
> 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 ??

Do you mean the normalization of strings, or do you suggest to make
mandatory?  The normalization isn't needed for other name strings.
The driver name is somewhat special, as it's used as a key for
searches in the user-space.

> 	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".

We do replace the two '?' in the latter case, too.  It's a break
statement in a switch block, i.e. just skip the case.


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux