Re: [PATCH 15/16] udf: fix udf_debug macro

From: Jan Kara
Date: Thu Jan 10 2008 - 18:28:21 EST


On Thu 10-01-08 23:06:31, marcin.slusarz@xxxxxxxxx wrote:
> udf_debug should be enclosed with do { } while (0)
> to be safely used in code like below:
> if (something)
> udf_debug();
> else
> anything;
> (Otherwise compiler will not compile it with:
> "error: expected expression before 'else'")
>
> Signed-off-by: Marcin Slusarz <marcin.slusarz@xxxxxxxxx>
> CC: Jan Kara <jack@xxxxxxx>
> ---
> include/linux/udf_fs.h | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/udf_fs.h b/include/linux/udf_fs.h
> index 36c684e..c954527 100644
> --- a/include/linux/udf_fs.h
> +++ b/include/linux/udf_fs.h
> @@ -39,11 +39,11 @@
>
> #ifdef UDFFS_DEBUG
> #define udf_debug(f, a...) \
> - { \
> + do { \
> printk (KERN_DEBUG "UDF-fs DEBUG %s:%d:%s: ", \
> __FILE__, __LINE__, __FUNCTION__); \
> printk (f, ##a); \
> - }
> + } while (0)
> #else
> #define udf_debug(f, a...) /**/
> #endif
Actually, in that case you should also change /**/ to
do {} while (0)

Honza
--
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/