aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorGravatar Justus Winter <4winter@informatik.uni-hamburg.de>2012-09-24 17:21:18 +0200
committerGravatar David Bremner <bremner@debian.org>2012-09-27 12:51:51 -0300
commitfaf6ede3ef7b09df0d61264cb7a907860d69abbb (patch)
tree242081b1c954252ff46e70329c1904039a9a3d23 /lib
parent8f0a4c80ff4599ec3073e405a983242145f29638 (diff)
Fix the COERCE_STATUS macro
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@informatik.uni-hamburg.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/notmuch-private.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h
index bfb41116..7a409f54 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 \
: \
(notmuch_status_t) private_status)