2008-07-18 04:33:31

by Harvey Harrison

[permalink] [raw]
Subject: [PATCH 2/2] nfs: nfs4xdr.c do-while is not a compound statement

The WRITEMEM macro produces sparse warnings of the form:
fs/nfsd/nfs4xdr.c:2668:2: warning: do-while statement is not a compound statement

Signed-off-by: Harvey Harrison <[email protected]>
---
fs/nfsd/nfs4xdr.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index 9612d66..0957ec1 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -1162,11 +1162,11 @@ nfsd4_decode_compound(struct nfsd4_compoundargs *argp)
*p++ = htonl((u32)((n) >> 32)); \
*p++ = htonl((u32)(n)); \
} while (0)
-#define WRITEMEM(ptr,nbytes) do if (nbytes > 0) { \
+#define WRITEMEM(ptr,nbytes) do { if (nbytes > 0) { \
*(p + XDR_QUADLEN(nbytes) -1) = 0; \
memcpy(p, ptr, nbytes); \
p += XDR_QUADLEN(nbytes); \
-} while (0)
+}} while (0)
#define WRITECINFO(c) do { \
*p++ = htonl(c.atomic); \
*p++ = htonl(c.before_ctime_sec); \
--
1.5.6.3.569.ga9185


2008-07-18 19:07:33

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH 2/2] nfs: nfs4xdr.c do-while is not a compound statement

Thanks, applied.--b.

On Thu, Jul 17, 2008 at 09:33:04PM -0700, Harvey Harrison wrote:
> The WRITEMEM macro produces sparse warnings of the form:
> fs/nfsd/nfs4xdr.c:2668:2: warning: do-while statement is not a compound statement
>
> Signed-off-by: Harvey Harrison <[email protected]>
> ---
> fs/nfsd/nfs4xdr.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
> index 9612d66..0957ec1 100644
> --- a/fs/nfsd/nfs4xdr.c
> +++ b/fs/nfsd/nfs4xdr.c
> @@ -1162,11 +1162,11 @@ nfsd4_decode_compound(struct nfsd4_compoundargs *argp)
> *p++ = htonl((u32)((n) >> 32)); \
> *p++ = htonl((u32)(n)); \
> } while (0)
> -#define WRITEMEM(ptr,nbytes) do if (nbytes > 0) { \
> +#define WRITEMEM(ptr,nbytes) do { if (nbytes > 0) { \
> *(p + XDR_QUADLEN(nbytes) -1) = 0; \
> memcpy(p, ptr, nbytes); \
> p += XDR_QUADLEN(nbytes); \
> -} while (0)
> +}} while (0)
> #define WRITECINFO(c) do { \
> *p++ = htonl(c.atomic); \
> *p++ = htonl(c.before_ctime_sec); \
> --
> 1.5.6.3.569.ga9185
>