[alsa-devel] [PATCH 2/4] topology: Change variable type to fix gcc warning

Takashi Iwai tiwai at suse.de
Wed Nov 18 08:15:43 CET 2015


On Wed, 18 Nov 2015 08:23:07 +0100,
mengdong.lin at linux.intel.com wrote:
> 
> From: Mengdong Lin <mengdong.lin at linux.intel.com>
> 
> Fix warning: comparison between signed and unsigned integer expressions
> [-Wsign-compare]
> 
> ABI objects use type _le32, which is converted to host unsigned integer.
> So the iterator 'i' in a loop as below should also be unsigned.
> for (i = 0; i < pcm->num_streams; i++)
>                 ^

Using an unsigned int for the generic loop count like i is strange.

Rather compare with the original value in the template, which is
actually int.


Takashi

> Signed-off-by: Mengdong Lin <mengdong.lin at linux.intel.com>
> 
> diff --git a/src/topology/ctl.c b/src/topology/ctl.c
> index 7d8787f..6dc3b3d 100644
> --- a/src/topology/ctl.c
> +++ b/src/topology/ctl.c
> @@ -676,7 +676,8 @@ int tplg_add_mixer(snd_tplg_t *tplg, struct snd_tplg_mixer_template *mixer,
>  	struct snd_soc_tplg_private *priv = mixer->priv;
>  	struct snd_soc_tplg_mixer_control *mc;
>  	struct tplg_elem *elem;
> -	int ret, i;
> +	int ret;
> +	unsigned int i;
>  
>  	tplg_dbg(" Control Mixer: %s\n", mixer->hdr.name);
>  
> @@ -743,7 +744,8 @@ int tplg_add_enum(snd_tplg_t *tplg, struct snd_tplg_enum_template *enum_ctl,
>  {
>  	struct snd_soc_tplg_enum_control *ec;
>  	struct tplg_elem *elem;
> -	int ret, i;
> +	int ret;
> +	unsigned int i;
>  
>  	tplg_dbg(" Control Enum: %s\n", enum_ctl->hdr.name);
>  
> diff --git a/src/topology/pcm.c b/src/topology/pcm.c
> index 9b7e402..4b7c058 100644
> --- a/src/topology/pcm.c
> +++ b/src/topology/pcm.c
> @@ -522,7 +522,7 @@ int tplg_add_pcm_object(snd_tplg_t *tplg, snd_tplg_obj_template_t *t)
>  	struct snd_tplg_pcm_template *pcm_tpl = t->pcm;
>  	struct snd_soc_tplg_pcm *pcm;
>  	struct tplg_elem *elem;
> -	int i;
> +	unsigned int i;
>  
>  	tplg_dbg("PCM: %s, DAI %s\n", pcm_tpl->pcm_name, pcm_tpl->dai_name);
>  
> @@ -564,7 +564,7 @@ int tplg_add_link_object(snd_tplg_t *tplg, snd_tplg_obj_template_t *t)
>  	struct snd_tplg_link_template *link = t->link;
>  	struct snd_soc_tplg_link_config *lk;
>  	struct tplg_elem *elem;
> -	int i;
> +	unsigned int i;
>  
>  	if (t->type != SND_TPLG_TYPE_BE && t->type != SND_TPLG_TYPE_CC)
>  		return -EINVAL;
> -- 
> 2.5.0
> 


More information about the Alsa-devel mailing list