9 Commits
v1.1 ... v1.1.2

Author SHA1 Message Date
Petri Lehtinen
842bc2128b jansson 1.1.2 2009-11-08 14:13:32 +02:00
Petri Lehtinen
ca6d26a1c2 Don't include stdint.h in jansson.h
It's not needed
2009-11-07 14:45:46 +02:00
Petri Lehtinen
d3959a8ce7 load: Parse a badly put - sign correctly
Thanks to Manolis Delakis for reporting.
2009-10-29 15:45:16 +02:00
Petri Lehtinen
f243930b68 json_load_file: Initialize the error struct properly
Failing to do this has the effect that the error message is not
returned when the input file cannot be opened (e.g. if it doesn't
exist).

Thanks to Martin Vopatek for reporting.
2009-10-27 17:56:02 +02:00
Petri Lehtinen
15d992cb6a jansson 1.1.1 2009-10-26 21:27:10 +02:00
Petri Lehtinen
59c58ea26c Build documentation in distcheck-hook
This is to check that all the documentation files are distributed
before releasing.
2009-10-25 00:20:23 +03:00
Petri Lehtinen
f95bb423a3 Really distribute all the docs
The tutorial example github_commits.c was still left out.
2009-10-25 00:17:16 +03:00
Petri Lehtinen
9448ed3ef7 Distribute all the docs 2009-10-24 14:16:12 +03:00
Petri Lehtinen
7c7a1ed01e Fix version 1.1 release date in CHANGES 2009-10-24 14:16:11 +03:00
13 changed files with 94 additions and 10 deletions

18
CHANGES
View File

@@ -1,4 +1,20 @@
Version 1.1, released 2009-10-XX
Version 1.1.2, released 2009-11-08
* Fix a bug where an error message was not produced if the input file
could not be opened in json_load_file()
* Fix an assertion failure in decoder caused by a minus sign without a
digit after it
* Remove an unneeded include for stdint.h in jansson.h
Version 1.1.1, released 2009-10-26
* All documentation files were not distributed with v1.1; build
documentation in make distcheck to prevent this in the future
* Fix v1.1 release date in CHANGES
Version 1.1, released 2009-10-20
* API additions and improvements:
- Extend array and object APIs

View File

@@ -1,2 +1,7 @@
EXTRA_DIST = CHANGES LICENSE README.rst
SUBDIRS = doc src test
distcheck-hook:
sphinx-build -b html -W \
$(distdir)/doc \
$(distdir)/_build/doc/.build/html

View File

@@ -1,5 +1,5 @@
AC_PREREQ([2.59])
AC_INIT([jansson], [1.1], [petri@digip.org])
AC_INIT([jansson], [1.1.2], [petri@digip.org])
AM_INIT_AUTOMAKE([1.10 foreign])

View File

@@ -1,4 +1,6 @@
EXTRA_DIST = conf.py apiref.rst index.rst ext/refcounting.py
EXTRA_DIST = \
conf.py apiref.rst gettingstarted.rst github_commits.c index.rst \
tutorial.rst ext/refcounting.py
clean-local:
rm -rf .build

View File

@@ -52,7 +52,7 @@ copyright = u'2009, Petri Lehtinen'
# The short X.Y version.
version = '1.1'
# The full version, including alpha/beta/rc tags.
release = '1.1'
release = '1.1.2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@@ -13,6 +13,6 @@ libjansson_la_SOURCES = \
utf.h \
util.h \
value.c
libjansson_la_LDFLAGS = -version-info 1:0:1
libjansson_la_LDFLAGS = -version-info 1:1:1
AM_CFLAGS = -Wall -Wextra -Werror

View File

@@ -9,7 +9,6 @@
#define JANSSON_H
#include <stdio.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {

View File

@@ -418,11 +418,15 @@ static int lex_scan_number(lex_t *lex, char c, json_error_t *error)
goto out;
}
}
else /* c != '0' */ {
else if(isdigit(c)) {
c = lex_get_save(lex, error);
while(isdigit(c))
c = lex_get_save(lex, error);
}
else {
lex_unget_unsave(lex, c);
goto out;
}
if(c != '.' && c != 'E' && c != 'e') {
long value;
@@ -864,6 +868,8 @@ json_t *json_load_file(const char *path, json_error_t *error)
json_t *result;
FILE *fp;
error_init(error);
fp = fopen(path, "r");
if(!fp)
{

1
test/.gitignore vendored
View File

@@ -3,6 +3,7 @@ loads_dumps
load_file_dump_file
testlogs
testprogs/test_array
testprogs/test_load
testprogs/test_number
testprogs/test_object
testprogs/test_simple

17
test/testdata/invalid vendored
View File

@@ -167,7 +167,22 @@ too big negative integer near '-123123123123123'
====
1
invalid token near 'troo'
==== invalid-escap ====
==== minus-sign-without-number ====
[-foo]
====
1
invalid token near '-'
==== invalid-negative-integerr ====
[-123foo]
====
1
']' expected near 'foo'
==== invalid-negative-real ====
[-123.123foo]
====
1
']' expected near 'foo'
==== invalid-escape ====
["\a <-- invalid escape"]
====
1

View File

@@ -167,7 +167,22 @@ too big negative integer near '-123123123123123'
====
1
invalid token near 'troo'
==== invalid-escap ====
==== minus-sign-without-number ====
[-foo]
====
1
invalid token near '-'
==== invalid-negative-integerr ====
[-123foo]
====
1
']' expected near 'foo'
==== invalid-negative-real ====
[-123.123foo]
====
1
']' expected near 'foo'
==== invalid-escape ====
["\a <-- invalid escape"]
====
1

View File

@@ -1,6 +1,7 @@
check_PROGRAMS = test_array test_simple test_number test_object
check_PROGRAMS = test_array test_load test_simple test_number test_object
test_array_SOURCES = test_array.c util.h
test_load_SOURCES = test_load.c util.h
test_simple_SOURCES = test_simple.c util.h
test_number_SOURCES = test_number.c util.h
test_object_SOURCES = test_object.c util.h

View File

@@ -0,0 +1,24 @@
/*
* Copyright (c) 2009 Petri Lehtinen <petri@digip.org>
*
* Jansson is free software; you can redistribute it and/or modify
* it under the terms of the MIT license. See LICENSE for details.
*/
#include <jansson.h>
#include <string.h>
#include "util.h"
int main()
{
json_t *json;
json_error_t error;
json = json_load_file("/path/to/nonexistent/file.json", &error);
if(error.line != -1)
fail("json_load_file returned an invalid line number");
if(strcmp(error.text, "unable to open /path/to/nonexistent/file.json: No such file or directory") != 0)
fail("json_load_file returned an invalid error message");
return 0;
}