From 7b899b6dc540aecfc6622337bcceeabf701e79b9 Mon Sep 17 00:00:00 2001 From: Michael Clark Date: Tue, 13 Mar 2007 08:26:21 +0000 Subject: [PATCH] * fix pointer arithmetic bug for error pointer check in is_error() macro * fix type passed to printbuf_memappend in json_tokener * update autotools bootstrap instructions in README Michael Clark git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@6 327403b1-1117-474d-bef2-5cb71233fd97 --- ChangeLog | 6 ++++++ README | 5 +++-- README.html | 2 +- bits.h | 8 ++++++-- configure.in | 2 +- json_tokener.c | 8 ++++---- 6 files changed, 21 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8f652d6..5b69097 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +0.3 + * fix pointer arithmetic bug for error pointer check in is_error() macro + * fix type passed to printbuf_memappend in json_tokener + * update autotools bootstrap instructions in README + Michael Clark + 0.2 * printbuf.c - C. Watford (christopher.watford@gmail.com) Added a Win32/Win64 compliant implementation of vasprintf diff --git a/README b/README index 93c0226..9f9fe0b 100644 --- a/README +++ b/README @@ -2,9 +2,10 @@ Building on Unix with gcc and autotools If checking out from CVS: - cp /usr/share/libtool/ltmain.sh . aclocal-1.6 - automake-1.6 --add-missing + libtoolize --copy + autoheader + automake-1.6 --add-missing --copy autoconf Then configure, make, make install diff --git a/README.html b/README.html index 840132b..52b4495 100644 --- a/README.html +++ b/README.html @@ -8,7 +8,7 @@

JSON-C - A JSON implementation in C

-

Latest release: json-c-0.2.tar.gz

+

Latest release: json-c-0.3.tar.gz

JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON objects.

diff --git a/bits.h b/bits.h index 41e6592..49e5967 100644 --- a/bits.h +++ b/bits.h @@ -1,5 +1,5 @@ /* - * $Id: bits.h,v 1.4 2005/06/14 22:41:51 mclark Exp $ + * $Id: bits.h,v 1.7 2005/07/15 02:40:44 mclark Exp $ * * Copyright Metaparadigm Pte. Ltd. 2004. * Michael Clark @@ -48,6 +48,10 @@ #define hexdigit(x) (((x) <= '9') ? (x) - '0' : ((x) & 7) + 9) #define error_ptr(error) ((void*)error) -#define is_error(ptr) ((ptrdiff_t)ptr < (ptrdiff_t)-4000L) +#ifdef _MSC_VER +#define is_error(ptr) ((UINT_PTR)ptr > (UINT_PTR)-4000L) +#else +#define is_error(ptr) ((unsigned long)ptr > (unsigned long)-4000L) +#endif #endif diff --git a/configure.in b/configure.in index 4f7ec9d..f0a7d3a 100644 --- a/configure.in +++ b/configure.in @@ -1,7 +1,7 @@ AC_PREREQ(2.52) # Process this file with autoconf to produce a configure script. -AC_INIT([JSON C Library], 0.2, [michael@metaparadigm.com], [json-c]) +AC_INIT([JSON C Library], 0.3, [michael@metaparadigm.com], [json-c]) AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) diff --git a/json_tokener.c b/json_tokener.c index 668d749..a224c7d 100644 --- a/json_tokener.c +++ b/json_tokener.c @@ -1,5 +1,5 @@ /* - * $Id: json_tokener.c,v 1.14 2005/06/14 22:41:51 mclark Exp $ + * $Id: json_tokener.c,v 1.15 2005/07/15 03:19:43 mclark Exp $ * * Copyright Metaparadigm Pte. Ltd. 2004. * Michael Clark @@ -273,16 +273,16 @@ static struct json_object* json_tokener_do_parse(struct json_tokener *this) hexdigit(*(this->source + start_offset + 3)); if (ucs_char < 0x80) { utf_out[0] = ucs_char; - printbuf_memappend(this->pb, utf_out, 1); + printbuf_memappend(this->pb, (char*)utf_out, 1); } else if (ucs_char < 0x800) { utf_out[0] = 0xc0 | (ucs_char >> 6); utf_out[1] = 0x80 | (ucs_char & 0x3f); - printbuf_memappend(this->pb, utf_out, 2); + printbuf_memappend(this->pb, (char*)utf_out, 2); } else { utf_out[0] = 0xe0 | (ucs_char >> 12); utf_out[1] = 0x80 | ((ucs_char >> 6) & 0x3f); utf_out[2] = 0x80 | (ucs_char & 0x3f); - printbuf_memappend(this->pb, utf_out, 3); + printbuf_memappend(this->pb, (char*)utf_out, 3); } start_offset = this->pos; state = saved_state; -- 2.50.1