[PATCH 4/6] Fix the COERCE_STATUS macro

Tomi Ollila tomi.ollila at iki.fi
Tue Sep 25 01:55:21 PDT 2012


On Mon, Sep 24 2012, Austin Clements <amdragon at MIT.EDU> wrote:

> 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.

I agree. LGTM.

>
>>       :									\
>>       (notmuch_status_t) private_status)



More information about the notmuch mailing list