Merge branch '1.0' into HEAD
authorPetri Lehtinen <petri@digip.org>
Tue, 8 Sep 2009 14:02:39 +0000 (17:02 +0300)
committerPetri Lehtinen <petri@digip.org>
Tue, 8 Sep 2009 14:02:39 +0000 (17:02 +0300)
Conflicts:
configure.ac
doc/conf.py

CHANGES
Makefile.am
configure.ac
doc/conf.py
src/Makefile.am
src/load.c

diff --git a/CHANGES b/CHANGES
index 087e5e0..6211d86 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+Version 1.0.2, released 2009-09-08
+
+* Handle EOF correctly in decoder
+
 Version 1.0.1, released 2009-09-04
 
 * Fixed broken json_is_boolean()
index f35e697..01b958c 100644 (file)
@@ -1,2 +1,2 @@
-EXTRA_DIST = LICENSE README.rst
+EXTRA_DIST = CHANGES LICENSE README.rst
 SUBDIRS = doc src test
index f7fe011..1ad73a9 100644 (file)
@@ -1,5 +1,5 @@
 AC_PREREQ([2.63])
-AC_INIT([jansson], [1.0.1+], [petri@digip.org])
+AC_INIT([jansson], [1.0.2+], [petri@digip.org])
 
 AM_INIT_AUTOMAKE([1.10 foreign])
 
index bd88c6b..911436a 100644 (file)
@@ -52,7 +52,7 @@ copyright = u'2009, Petri Lehtinen'
 # The short X.Y version.
 version = '1.0'
 # The full version, including alpha/beta/rc tags.
-release = '1.0.1+'
+release = '1.0.2+'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
index 50b1e69..5165476 100644 (file)
@@ -13,6 +13,6 @@ libjansson_la_SOURCES = \
        utf.h \
        util.h \
        value.c
-libjansson_la_LDFLAGS = -version-info 0:1:0
+libjansson_la_LDFLAGS = -version-info 0:2:0
 
 AM_CFLAGS = -Wall -Wextra -Werror
index aa7f99d..d1366f8 100644 (file)
@@ -133,10 +133,7 @@ static char stream_get(stream_t *stream, json_error_t *error)
 
         c = stream->buffer[0];
 
-        if(c == EOF && stream->eof(stream->data))
-            return EOF;
-
-        if(c < 0)
+        if(c < 0 && c != EOF)
         {
             /* multi-byte UTF-8 sequence */
             int i, count;
@@ -256,11 +253,11 @@ static void lex_scan_string(lex_t *lex, json_error_t *error)
     lex->value.string = NULL;
     lex->token = TOKEN_INVALID;
 
-    /* skip the " */
     c = lex_get_save(lex, error);
 
     while(c != '"') {
         if(c == EOF) {
+            lex_unget_unsave(lex, c);
             if(lex_eof(lex))
                 error_set(error, lex, "premature end of input");
             goto out;