[Spice-devel] [PATCH spice-common v3 2/2] log: Force format in log macro to be a string

Christophe Fergeau cfergeau at redhat.com
Tue Jul 4 15:50:42 UTC 2017


On Tue, Jul 04, 2017 at 10:18:52AM +0100, Frediano Ziglio wrote:
> Make sure format is a string and not a pointer.
> This prevents usages like:
> 
>   spice_debug(NULL);
> 
> This also prevents computed format strings too but on the other
> hand allows the compiler to check argument types.

This is vague and misleading, the compiler should already be able to
check that we have a format string with the right arguments. This patch
just adds a little bit on top of that, which is ensuring the format
string is not NULL.

Christophe

> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> Changes since v1:
> - extent commit message rationale.
> ---
>  common/log.h | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/common/log.h b/common/log.h
> index 9f5fcbb..06d48d2 100644
> --- a/common/log.h
> +++ b/common/log.h
> @@ -62,23 +62,23 @@ void spice_log(GLogLevelFlags log_level,
>  } G_STMT_END
>  
>  #define spice_info(format, ...) G_STMT_START {                         \
> -    spice_log(G_LOG_LEVEL_INFO, SPICE_STRLOC, __FUNCTION__, format, ## __VA_ARGS__); \
> +    spice_log(G_LOG_LEVEL_INFO, SPICE_STRLOC, __FUNCTION__, "" format, ## __VA_ARGS__); \
>  } G_STMT_END
>  
>  #define spice_debug(format, ...) G_STMT_START {                         \
> -    spice_log(G_LOG_LEVEL_DEBUG, SPICE_STRLOC, __FUNCTION__, format, ## __VA_ARGS__); \
> +    spice_log(G_LOG_LEVEL_DEBUG, SPICE_STRLOC, __FUNCTION__, "" format, ## __VA_ARGS__); \
>  } G_STMT_END
>  
>  #define spice_warning(format, ...) G_STMT_START {                       \
> -    spice_log(G_LOG_LEVEL_WARNING, SPICE_STRLOC, __FUNCTION__, format, ## __VA_ARGS__); \
> +    spice_log(G_LOG_LEVEL_WARNING, SPICE_STRLOC, __FUNCTION__, "" format, ## __VA_ARGS__); \
>  } G_STMT_END
>  
>  #define spice_critical(format, ...) G_STMT_START {                          \
> -    spice_log(G_LOG_LEVEL_CRITICAL, SPICE_STRLOC, __FUNCTION__, format, ## __VA_ARGS__); \
> +    spice_log(G_LOG_LEVEL_CRITICAL, SPICE_STRLOC, __FUNCTION__, "" format, ## __VA_ARGS__); \
>  } G_STMT_END
>  
>  #define spice_error(format, ...) G_STMT_START {                         \
> -    spice_log(G_LOG_LEVEL_ERROR, SPICE_STRLOC, __FUNCTION__, format, ## __VA_ARGS__); \
> +    spice_log(G_LOG_LEVEL_ERROR, SPICE_STRLOC, __FUNCTION__, "" format, ## __VA_ARGS__); \
>  } G_STMT_END
>  
>  #define spice_warn_if_fail(x) G_STMT_START {            \
> -- 
> 2.9.4
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170704/feb20775/attachment.sig>


More information about the Spice-devel mailing list