mirror of
https://github.com/json-c/json-c.git
synced 2026-04-02 11:59:07 +08:00
* 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 <michael@metaparadigm.com>
git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@6 327403b1-1117-474d-bef2-5cb71233fd97
This commit is contained in:
@@ -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 <michael@metaparadigm.com>
|
||||||
|
|
||||||
0.2
|
0.2
|
||||||
* printbuf.c - C. Watford (christopher.watford@gmail.com)
|
* printbuf.c - C. Watford (christopher.watford@gmail.com)
|
||||||
Added a Win32/Win64 compliant implementation of vasprintf
|
Added a Win32/Win64 compliant implementation of vasprintf
|
||||||
|
|||||||
5
README
5
README
@@ -2,9 +2,10 @@ Building on Unix with gcc and autotools
|
|||||||
|
|
||||||
If checking out from CVS:
|
If checking out from CVS:
|
||||||
|
|
||||||
cp /usr/share/libtool/ltmain.sh .
|
|
||||||
aclocal-1.6
|
aclocal-1.6
|
||||||
automake-1.6 --add-missing
|
libtoolize --copy
|
||||||
|
autoheader
|
||||||
|
automake-1.6 --add-missing --copy
|
||||||
autoconf
|
autoconf
|
||||||
|
|
||||||
Then configure, make, make install
|
Then configure, make, make install
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h2>JSON-C - A JSON implementation in C</h2>
|
<h2>JSON-C - A JSON implementation in C</h2>
|
||||||
<p>Latest release: <a href="json-c-0.2.tar.gz">json-c-0.2.tar.gz</a></p>
|
<p>Latest release: <a href="json-c-0.3.tar.gz">json-c-0.3.tar.gz</a></p>
|
||||||
<p>JSON-C implements a reference counting object model that allows you to easily
|
<p>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
|
construct JSON objects in C, output them as JSON formatted strings and parse
|
||||||
JSON formatted strings back into the C representation of JSON objects.</p>
|
JSON formatted strings back into the C representation of JSON objects.</p>
|
||||||
|
|||||||
8
bits.h
8
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.
|
* Copyright Metaparadigm Pte. Ltd. 2004.
|
||||||
* Michael Clark <michael@metaparadigm.com>
|
* Michael Clark <michael@metaparadigm.com>
|
||||||
@@ -48,6 +48,10 @@
|
|||||||
|
|
||||||
#define hexdigit(x) (((x) <= '9') ? (x) - '0' : ((x) & 7) + 9)
|
#define hexdigit(x) (((x) <= '9') ? (x) - '0' : ((x) & 7) + 9)
|
||||||
#define error_ptr(error) ((void*)error)
|
#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
|
#endif
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
AC_PREREQ(2.52)
|
AC_PREREQ(2.52)
|
||||||
|
|
||||||
# Process this file with autoconf to produce a configure script.
|
# 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)
|
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
* Copyright Metaparadigm Pte. Ltd. 2004.
|
||||||
* Michael Clark <michael@metaparadigm.com>
|
* Michael Clark <michael@metaparadigm.com>
|
||||||
@@ -273,16 +273,16 @@ static struct json_object* json_tokener_do_parse(struct json_tokener *this)
|
|||||||
hexdigit(*(this->source + start_offset + 3));
|
hexdigit(*(this->source + start_offset + 3));
|
||||||
if (ucs_char < 0x80) {
|
if (ucs_char < 0x80) {
|
||||||
utf_out[0] = ucs_char;
|
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) {
|
} else if (ucs_char < 0x800) {
|
||||||
utf_out[0] = 0xc0 | (ucs_char >> 6);
|
utf_out[0] = 0xc0 | (ucs_char >> 6);
|
||||||
utf_out[1] = 0x80 | (ucs_char & 0x3f);
|
utf_out[1] = 0x80 | (ucs_char & 0x3f);
|
||||||
printbuf_memappend(this->pb, utf_out, 2);
|
printbuf_memappend(this->pb, (char*)utf_out, 2);
|
||||||
} else {
|
} else {
|
||||||
utf_out[0] = 0xe0 | (ucs_char >> 12);
|
utf_out[0] = 0xe0 | (ucs_char >> 12);
|
||||||
utf_out[1] = 0x80 | ((ucs_char >> 6) & 0x3f);
|
utf_out[1] = 0x80 | ((ucs_char >> 6) & 0x3f);
|
||||||
utf_out[2] = 0x80 | (ucs_char & 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;
|
start_offset = this->pos;
|
||||||
state = saved_state;
|
state = saved_state;
|
||||||
|
|||||||
Reference in New Issue
Block a user