From: David Bremner Date: Tue, 7 Jun 2016 10:37:57 +0000 (-0300) Subject: lib: fix definition of LIBNOTMUCH_CHECK_VERSION X-Git-Url: http://rtime.felk.cvut.cz/gitweb/notmuch.git/commitdiff_plain/44cfa90bdc4d814217b05fdc36f1595c9b54d729 lib: fix definition of LIBNOTMUCH_CHECK_VERSION Fix bug reported in id:20160606124522.g2y2eazhhrwjsa4h@flatcap.org Although the C99 standard 6.10 is a little non-obvious on this point, the docs for e.g. gcc are unambiguous. And indeed in practice with the extra space, this code fails #include #define foo (x) (x+1) int main(int argc, char **argv){ printf("%d\n",foo(1)); } --- diff --git a/lib/notmuch.h b/lib/notmuch.h index 29713ae2..d4a97cb8 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -93,7 +93,7 @@ NOTMUCH_BEGIN_DECLS * #endif * @endcode */ -#define LIBNOTMUCH_CHECK_VERSION (major, minor, micro) \ +#define LIBNOTMUCH_CHECK_VERSION(major, minor, micro) \ (LIBNOTMUCH_MAJOR_VERSION > (major) || \ (LIBNOTMUCH_MAJOR_VERSION == (major) && LIBNOTMUCH_MINOR_VERSION > (minor)) || \ (LIBNOTMUCH_MAJOR_VERSION == (major) && LIBNOTMUCH_MINOR_VERSION == (minor) && \