json: Allow to compile with libgpg-error < 1.28
authorWerner Koch <wk@gnupg.org>
Tue, 5 Jun 2018 07:40:17 +0000 (09:40 +0200)
committerWerner Koch <wk@gnupg.org>
Tue, 5 Jun 2018 07:40:17 +0000 (09:40 +0200)
* src/cJSON.c: Use gpgrt fucntion only if available.
--

We have a hack in gpgme-json to allow building with older libgpg-error
versions.  That whole thing will not work but the instead the binary
will print an error at runtime that it needs to be build with a newer
libgcrypt.  There was a little bug here for the Debian packages
libgpg-error versions which failed to build cJSON.  cJSON is only
needed be the full gpgme-json but nevertheless the Makefile wants to
build it.  The fix is straightforward.

GnuPG-bug-id: 3971
Signed-off-by: Werner Koch <wk@gnupg.org>
src/cJSON.c

index cf0cb13..38cb152 100644 (file)
 #include "cJSON.h"
 
 /* We use malloc function wrappers from gpgrt (aka libgpg-error).  */
-#if 1
+#if GPGRT_VERSION_NUMBER >= 0x011c00 /* 1.28 */
 # include <gpgrt.h>
 # define xtrymalloc(a)   gpgrt_malloc ((a))
 # define xtrycalloc(a,b) gpgrt_calloc ((a), (b))
 # define xtrystrdup(a)   gpgrt_strdup ((a))
 # define xfree(a)        gpgrt_free ((a))
-#else
+#else /* Without gpgrt (aka libgpg-error).  */
 # define xtrymalloc(a)   malloc ((a))
 # define xtrycalloc(a,b) calloc ((a), (b))
 # define xtrystrdup(a)   strdup ((a))