All of lore.kernel.org
 help / color / mirror / Atom feed
From: Samuel Ortiz <samuel@sortiz.org>
To: Richard Knutsson <ricknu-0@student.ltu.se>
Cc: davem@davemloft.net, linux-kernel@vger.kernel.org,
	irda-users@lists.sourceforge.net
Subject: Re: [PATCH] net/irda/parameters.c: Trivial fixes
Date: Mon, 26 Nov 2007 10:17:47 +0100	[thread overview]
Message-ID: <20071126091747.GB3165@sortiz.org> (raw)
In-Reply-To: <20071124203232.6370.65534.sendpatchset@thinktank.campus.ltu.se>

Hi Richard,

On Sat, Nov 24, 2007 at 09:44:05PM +0100, Richard Knutsson wrote:
> Make a single va_start() -> va_end() path + fixing:
Ok, this should be 2 separate patches then.
The warning fixes are all good, but I fail to see the point of the va_end()
one. That doesn't seem to bring any sort of improvement while adding one
variable to the stack and one loop test. Any explanation here ?

I'll push the warning fix for now, thanks.

Cheers,
Samuel.


>   CHECK   /home/kernel/src/net/irda/parameters.c
> /home/kernel/src/net/irda/parameters.c:466:2: warning: Using plain integer as NULL pointer
> /home/kernel/src/net/irda/parameters.c:520:2: warning: Using plain integer as NULL pointer
> /home/kernel/src/net/irda/parameters.c:573:2: warning: Using plain integer as NULL pointer
> 
> Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
> ---
> Compile-tested on i386 with allyesconfig and allmodconfig.
> 
> 
> diff --git a/net/irda/parameters.c b/net/irda/parameters.c
> index 2627dad..bf19071 100644
> --- a/net/irda/parameters.c
> +++ b/net/irda/parameters.c
> @@ -368,10 +368,11 @@ int irda_param_pack(__u8 *buf, char *fmt, ...)
>  	va_list args;
>  	char *p;
>  	int n = 0;
> +	int retval = 0;
>  
>  	va_start(args, fmt);
>  
> -	for (p = fmt; *p != '\0'; p++) {
> +	for (p = fmt; *p != '\0' && retval == 0; p++) {
>  		switch (*p) {
>  		case 'b':  /* 8 bits unsigned byte */
>  			buf[n++] = (__u8)va_arg(args, int);
> @@ -392,13 +393,12 @@ int irda_param_pack(__u8 *buf, char *fmt, ...)
>  			break;
>  #endif
>  		default:
> -			va_end(args);
> -			return -1;
> +			retval = -1;
>  		}
>  	}
>  	va_end(args);
>  
> -	return 0;
> +	return retval;
>  }
>  EXPORT_SYMBOL(irda_param_pack);
>  
> @@ -411,10 +411,11 @@ static int irda_param_unpack(__u8 *buf, char *fmt, ...)
>  	va_list args;
>  	char *p;
>  	int n = 0;
> +	int retval = 0;
>  
>  	va_start(args, fmt);
>  
> -	for (p = fmt; *p != '\0'; p++) {
> +	for (p = fmt; *p != '\0' && retval == 0; p++) {
>  		switch (*p) {
>  		case 'b':  /* 8 bits byte */
>  			arg.ip = va_arg(args, __u32 *);
> @@ -436,14 +437,13 @@ static int irda_param_unpack(__u8 *buf, char *fmt, ...)
>  			break;
>  #endif
>  		default:
> -			va_end(args);
> -			return -1;
> +			retval = -1;
>  		}
>  
>  	}
>  	va_end(args);
>  
> -	return 0;
> +	return retval;
>  }
>  
>  /*
> @@ -463,7 +463,7 @@ int irda_param_insert(void *self, __u8 pi, __u8 *buf, int len,
>  	int n = 0;
>  
>  	IRDA_ASSERT(buf != NULL, return ret;);
> -	IRDA_ASSERT(info != 0, return ret;);
> +	IRDA_ASSERT(info != NULL, return ret;);
>  
>  	pi_minor = pi & info->pi_mask;
>  	pi_major = pi >> info->pi_major_offset;
> @@ -517,7 +517,7 @@ static int irda_param_extract(void *self, __u8 *buf, int len,
>  	int n = 0;
>  
>  	IRDA_ASSERT(buf != NULL, return ret;);
> -	IRDA_ASSERT(info != 0, return ret;);
> +	IRDA_ASSERT(info != NULL, return ret;);
>  
>  	pi_minor = buf[n] & info->pi_mask;
>  	pi_major = buf[n] >> info->pi_major_offset;
> @@ -570,7 +570,7 @@ int irda_param_extract_all(void *self, __u8 *buf, int len,
>  	int n = 0;
>  
>  	IRDA_ASSERT(buf != NULL, return ret;);
> -	IRDA_ASSERT(info != 0, return ret;);
> +	IRDA_ASSERT(info != NULL, return ret;);
>  
>  	/*
>  	 * Parse all parameters. Each parameter must be at least two bytes


  reply	other threads:[~2007-11-26  2:12 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-24 20:44 [PATCH] net/irda/parameters.c: Trivial fixes Richard Knutsson
2007-11-26  9:17 ` Samuel Ortiz [this message]
2007-11-26  2:59   ` Richard Knutsson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071126091747.GB3165@sortiz.org \
    --to=samuel@sortiz.org \
    --cc=davem@davemloft.net \
    --cc=irda-users@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ricknu-0@student.ltu.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.