[alsa-devel] [PATCH] amixer: fix indentation when printing container TLV contents

Takashi Iwai tiwai at suse.de
Wed Oct 2 17:36:42 CEST 2013


At Tue,  1 Oct 2013 23:46:53 +0300,
Anssi Hannula wrote:
> 
> decode_tlv() adds indentation in the beginning, with the expectation
> that the TLV will be printed on the line afterwards in a switch-case.
> 
> However, in the case of a container TLV the switch-case simply adds
> another level of indentation and calls decode_tlv() for the inner TLVs.
> This causes the first inner TLV to be printed with too much indentation
> and double '|'.
> 
> Fix that by printing "container" and a newline for container TLVs, so
> that the result is as follows:
>   : values=0,0,0,0,0,0,0,0
>   | container
>     | chmap-variable=FL,FR
>     | chmap-variable=FL,FR,LFE
>     | chmap-variable=FL,FR,FC
> 
> Signed-off-by: Anssi Hannula <anssi.hannula at iki.fi>

Thanks, applied now.


Takashi

> ---
>  amixer/amixer.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/amixer/amixer.c b/amixer/amixer.c
> index b83b0c3..cf82892 100644
> --- a/amixer/amixer.c
> +++ b/amixer/amixer.c
> @@ -460,6 +460,7 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
>  	}
>  	switch (type) {
>  	case SND_CTL_TLVT_CONTAINER:
> +		printf("container\n");
>  		size += sizeof(unsigned int) -1;
>  		size /= sizeof(unsigned int);
>  		while (idx < size) {
> -- 
> 1.8.1.5
> 


More information about the Alsa-devel mailing list