]> git.ipfire.org Git - thirdparty/json-c.git/commitdiff
* fix pointer arithmetic bug for error pointer check in is_error() macro
authorMichael Clark <michael@metaparadigm.com>
Tue, 13 Mar 2007 08:26:21 +0000 (08:26 +0000)
committerMichael Clark <michael@metaparadigm.com>
Tue, 13 Mar 2007 08:26:21 +0000 (08:26 +0000)
  * 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

ChangeLog
README
README.html
bits.h
configure.in
json_tokener.c

index 8f652d6ac65c1568c85e86dd6f73b4800cec8570..5b6909758fbdaf2fc2b0f90f37f17c3acd01ecd1 100644 (file)
--- 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 <michael@metaparadigm.com>
+
 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 93c02265b8f01f53ccea796ae3e074398b34bff5..9f9fe0b864eede57894f20413edeebf03258a0dd 100644 (file)
--- 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
index 840132ba39db27d0003a6ed7f8cc34afd5638ccf..52b44953e16789cd4db5353dcad208efb2bfcc0d 100644 (file)
@@ -8,7 +8,7 @@
        </head>\r
        <body>\r
                <h2>JSON-C - A JSON implementation in C</h2>\r
-               <p>Latest release: <a href="json-c-0.2.tar.gz">json-c-0.2.tar.gz</a></p>\r
+               <p>Latest release: <a href="json-c-0.3.tar.gz">json-c-0.3.tar.gz</a></p>\r
                <p>JSON-C implements a reference counting object model that allows you to easily \r
                        construct JSON objects in C, output them as JSON formatted strings and parse \r
                        JSON formatted strings back into the C representation of JSON objects.</p>\r
diff --git a/bits.h b/bits.h
index 41e65923c6bc0b44a53133de840c748b9da7009b..49e59673df5df1537ff7a8f0a93e7a24d4814f1f 100644 (file)
--- 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 <michael@metaparadigm.com>
 
 #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
index 4f7ec9d109f4854d20abebfae6e86451a0703648..f0a7d3aa5cd1bda8fec71d3271320892be81d198 100644 (file)
@@ -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)
 
index 668d749ab45157ccc64a4e6f7eb64ec24324ea1d..a224c7df742b4c44e1f8f4a59c57b56f1be59e14 100644 (file)
@@ -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 <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));
          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;