[PATCH 4/6] Fix the COERCE_STATUS macro

Austin Clements amdragon at MIT.EDU
Mon Sep 24 10:44:57 PDT 2012


Quoth Justus Winter on Sep 24 at  5:21 pm:
> Fix the COERCE_STATUS macro to handle _internal_error being declared
> as void function.
> 
> Note that the function _internal_error does not return. Evaluating to
> NOTMUCH_STATUS_SUCCESS is done purely to appease the compiler.
> 
> Signed-off-by: Justus Winter <4winter at informatik.uni-hamburg.de>
> ---
>  lib/notmuch-private.h |   10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h
> index bfb4111..7a409f5 100644
> --- a/lib/notmuch-private.h
> +++ b/lib/notmuch-private.h
> @@ -136,13 +136,17 @@ typedef enum _notmuch_private_status {
>   * to or greater than NOTMUCH_STATUS_LAST_STATUS. (The idea here is
>   * that the caller has previously handled any expected
>   * notmuch_private_status_t values.)
> + *
> + * Note that the function _internal_error does not return. Evaluating
> + * to NOTMUCH_STATUS_SUCCESS is done purely to appease the compiler.
>   */
>  #define COERCE_STATUS(private_status, format, ...)			\
>      ((private_status >= (notmuch_private_status_t) NOTMUCH_STATUS_LAST_STATUS)\
>       ?									\
> -     (notmuch_status_t) _internal_error (format " (%s).\n",		\
> -                                         ##__VA_ARGS__,			\
> -                                         __location__)			\
> +     _internal_error (format " (%s).\n",				\
> +                      ##__VA_ARGS__,					\
> +                      __location__),					\
> +     (notmuch_status_t) NOTMUCH_PRIVATE_STATUS_SUCCESS			\

Just a nit: why not simply NOTMUCH_STATUS_SUCCESS?

Otherwise, this series LGTM.  No need to roll another version just for
this comment.

>       :									\
>       (notmuch_status_t) private_status)
>  


More information about the notmuch mailing list