lib: fix definition of LIBNOTMUCH_CHECK_VERSION
authorDavid Bremner <david@tethera.net>
Tue, 7 Jun 2016 10:37:57 +0000 (07:37 -0300)
committerDavid Bremner <david@tethera.net>
Sat, 11 Jun 2016 16:01:44 +0000 (13:01 -0300)
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 <stdio.h>
#define foo (x) (x+1)

int main(int argc, char **argv){
  printf("%d\n",foo(1));
}

lib/notmuch.h

index 29713ae2e82dbadf41e9be7083e610794b10615f..d4a97cb819de3fcb168e9c56574975aa0dcaeff8 100644 (file)
@@ -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) && \