summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Petri Lehtinen [Sat, 10 Oct 2009 19:54:05 +0000 (22:54 +0300)]
Fix API tests for object
Because of a typo in test/testprogs/Makefile.am, the tests for object
were never compiled or run.
Petri Lehtinen [Sat, 10 Oct 2009 19:53:36 +0000 (22:53 +0300)]
Check json_object_set_new arguments
A segfault was caused by NULL key.
Petri Lehtinen [Sat, 10 Oct 2009 18:16:13 +0000 (21:16 +0300)]
Remove config.h.in
It doesn't have to be in version control.
Petri Lehtinen [Tue, 29 Sep 2009 18:19:55 +0000 (21:19 +0300)]
Extend array API
Added functions:
json_array_insert
json_array_insert_new
json_array_remove
json_array_clear
json_array_extend
Petri Lehtinen [Sun, 13 Sep 2009 18:56:19 +0000 (21:56 +0300)]
doc: Add getting started guide
Petri Lehtinen [Mon, 14 Sep 2009 12:06:06 +0000 (15:06 +0300)]
Merge branch '1.0'
Conflicts:
configure.ac
doc/conf.py
Petri Lehtinen [Mon, 14 Sep 2009 11:32:41 +0000 (14:32 +0300)]
jansson 1.0.3
Petri Lehtinen [Sun, 13 Sep 2009 10:15:34 +0000 (13:15 +0300)]
load: Check for integer and real overlfows and underflows
Backported from master, commit
5406c2b3d347505149d382213b6f318f8c35de6a:
* deleted test/testdata/invalid-stripped because the stripped tests
don't exist in 1.0
Petri Lehtinen [Fri, 11 Sep 2009 19:22:34 +0000 (22:22 +0300)]
test/json-compare.py: Use json module from Python >=2.6 or simplejson
Backported from master, commit
9d16ec755c9754fe1f79fe55ab719a7f8578ce37
Petri Lehtinen [Sun, 13 Sep 2009 10:15:34 +0000 (13:15 +0300)]
load: Check for integer and real overlfows and underflows
Petri Lehtinen [Sat, 12 Sep 2009 09:49:17 +0000 (12:49 +0300)]
Use unsigned long instead of uint32_t
Some day we will have ANSI C compatibility... This change doesn't make
the API backwards incompatible because uint32_t was only used in flags
to json_dump*() and the flags are meant to be used only by ORing
constants and macro output, and actually currently only JSON_INDENT
can be used.
Petri Lehtinen [Fri, 11 Sep 2009 19:22:34 +0000 (22:22 +0300)]
test/json-compare.py: Use json module from Python >=2.6 or simplejson
Petri Lehtinen [Tue, 8 Sep 2009 13:32:47 +0000 (16:32 +0300)]
Add stripped unit tests for decoder
That is, test cases where there's no newline or other whitespace at
the beginning or end of input. This was implemented by adding a
--strip option to split-testfile to strip the input file after writing
it.
The actual test JSON texts are the same as testdata/invalid and
testdata/valid. The expected output of the invalid cases had to be
adjusted a bit: because there's no newline at the end, some of the
line numbers needed to be changed.
Petri Lehtinen [Tue, 8 Sep 2009 14:02:39 +0000 (17:02 +0300)]
Merge branch '1.0' into HEAD
Conflicts:
configure.ac
doc/conf.py
Petri Lehtinen [Tue, 8 Sep 2009 13:57:45 +0000 (16:57 +0300)]
Distribute CHANGES
Petri Lehtinen [Tue, 8 Sep 2009 13:48:26 +0000 (16:48 +0300)]
jansson 1.0.2
Petri Lehtinen [Tue, 8 Sep 2009 13:22:16 +0000 (16:22 +0300)]
load: Handle EOF correctly
In stream_get(), EOF never got it to stream->buffer and because of
this, stream_unget() failed on some situations. This patch makes
stream_get() handle EOF just like any other byte.
As a "side effect", lex_scan_string() now needs to unget the EOF, or
otherwise it ends up in error message on premature end of input.
Petri Lehtinen [Mon, 7 Sep 2009 18:40:14 +0000 (21:40 +0300)]
Don't perform reference counting on true, false and null
This makes their constructors thread safe. A special reference count
-1 is used to test whether to perform reference counting on a value or
not.
Petri Lehtinen [Mon, 7 Sep 2009 18:25:22 +0000 (21:25 +0300)]
test/.gitignore: Add testprogs/test_simple
Petri Lehtinen [Mon, 7 Sep 2009 18:07:49 +0000 (21:07 +0300)]
doc apiref: Enhancements
Constructors are described more clearly and return values on error
situations more compehensively. Also add an example of the object
iteration protocol.
Petri Lehtinen [Sun, 6 Sep 2009 19:24:55 +0000 (22:24 +0300)]
Better argument validation
All pointer arguments are now tested for NULL. json_string() now also
tests that strdup() succeeds. This is to ensure that no NULL values
end up in data structures.
Also desribe the different sources of errors in documentation.
Petri Lehtinen [Sun, 6 Sep 2009 19:24:22 +0000 (22:24 +0300)]
Don't include unistd.h
It's not needed.
Petri Lehtinen [Sun, 6 Sep 2009 19:16:32 +0000 (22:16 +0300)]
doc apiref: json_incref() returns its argument
Petri Lehtinen [Sun, 6 Sep 2009 11:06:02 +0000 (14:06 +0300)]
Expand test coverage
Now all public API functions are tested (at least on some level) in
the test-api suite.
Petri Lehtinen [Sun, 6 Sep 2009 09:53:38 +0000 (12:53 +0300)]
Merge branch '1.0'
Conflicts:
configure.ac
doc/conf.py
Petri Lehtinen [Sun, 6 Sep 2009 09:45:47 +0000 (12:45 +0300)]
Add CHANGES
Petri Lehtinen [Fri, 4 Sep 2009 17:58:55 +0000 (20:58 +0300)]
jansson 1.0.1
Petri Lehtinen [Fri, 4 Sep 2009 12:21:00 +0000 (15:21 +0300)]
jansson.h: Fix typo
json_is_true was spelled jsin_is_true. Quite fatal.
Petri Lehtinen [Thu, 3 Sep 2009 19:00:33 +0000 (22:00 +0300)]
dump: Optimize indenting
Don't alloca() a whitespace buffer and fill it with spaces in each
call to dump_indent. Instead, use a static whitespace buffer.
As a bonus, this saves the use of poorly portable alloca().
Petri Lehtinen [Thu, 3 Sep 2009 18:30:36 +0000 (21:30 +0300)]
load: Factor out an unneeded strdup
By "stealing" the string parsed out in lexer, one strdup can be saved.
Petri Lehtinen [Thu, 3 Sep 2009 18:20:51 +0000 (21:20 +0300)]
Don't define -std=c99 in AM_CFLAGS
It is not needed.
Petri Lehtinen [Thu, 3 Sep 2009 14:58:05 +0000 (17:58 +0300)]
doc: Fix typo
Petri Lehtinen [Thu, 3 Sep 2009 14:56:00 +0000 (17:56 +0300)]
Add reference stealing functions for inserting values to objects and arrays
The non-stealing functions are now just simple wrappers around these.
Petri Lehtinen [Wed, 2 Sep 2009 20:10:46 +0000 (23:10 +0300)]
Change the version to 1.0+
Petri Lehtinen [Tue, 25 Aug 2009 18:50:47 +0000 (21:50 +0300)]
jansson 1.0
Petri Lehtinen [Tue, 25 Aug 2009 18:24:07 +0000 (21:24 +0300)]
Distribute appropriate files
Petri Lehtinen [Tue, 25 Aug 2009 18:23:16 +0000 (21:23 +0300)]
test: Add Makefile.am to test/testprogs
This way it's an individual subdirectory and things go easier.
Petri Lehtinen [Tue, 25 Aug 2009 14:50:41 +0000 (17:50 +0300)]
Add some missing copyright notices
Petri Lehtinen [Mon, 24 Aug 2009 17:58:59 +0000 (20:58 +0300)]
Detect garbage near EOF in json_loadf() and json_load_file()
Petri Lehtinen [Mon, 24 Aug 2009 17:54:40 +0000 (20:54 +0300)]
Add test for numbers
Petri Lehtinen [Tue, 18 Aug 2009 18:33:45 +0000 (21:33 +0300)]
Expand value test coverage
Petri Lehtinen [Sun, 23 Aug 2009 10:32:10 +0000 (13:32 +0300)]
array: Fix a few checks and a leak
Petri Lehtinen [Sun, 23 Aug 2009 10:00:22 +0000 (13:00 +0300)]
run-test: Don't remove all testlogs when starting a new test suite
Petri Lehtinen [Sun, 2 Aug 2009 18:26:37 +0000 (21:26 +0300)]
Add README and API reference
Petri Lehtinen [Tue, 4 Aug 2009 17:54:47 +0000 (20:54 +0300)]
Refuse to dump other types than array and object as the root value
Petri Lehtinen [Tue, 28 Jul 2009 08:37:06 +0000 (11:37 +0300)]
Remove unimplemented json_clone()
Petri Lehtinen [Tue, 28 Jul 2009 08:36:53 +0000 (11:36 +0300)]
Add macro json_is_boolean
Petri Lehtinen [Tue, 28 Jul 2009 08:01:52 +0000 (11:01 +0300)]
Add LICENSE and a copyright note to all sources
Petri Lehtinen [Tue, 28 Jul 2009 07:57:17 +0000 (10:57 +0300)]
Rename json_{load,dump} to json_{load,dump}_file
Petri Lehtinen [Tue, 28 Jul 2009 07:37:52 +0000 (10:37 +0300)]
Fix some memory leaks and invalid memory references
Petri Lehtinen [Sun, 26 Jul 2009 19:44:11 +0000 (22:44 +0300)]
Enhance test system
- Tests are now named
- Testlogs are preserved between runs
- Tests can be run through Valgrind Memcheck tool
Petri Lehtinen [Sun, 26 Jul 2009 18:51:45 +0000 (21:51 +0300)]
Expand encoder test coverage
Petri Lehtinen [Sat, 18 Jul 2009 12:59:55 +0000 (15:59 +0300)]
Expand parser and Unicode test coverage
Petri Lehtinen [Tue, 14 Jul 2009 17:47:57 +0000 (20:47 +0300)]
Implement support for \u escapes
Petri Lehtinen [Tue, 14 Jul 2009 17:45:28 +0000 (20:45 +0300)]
Show the whole UTF-8 sequence in error message, not just the first byte
Petri Lehtinen [Tue, 14 Jul 2009 08:12:31 +0000 (11:12 +0300)]
Remove TODO
Petri Lehtinen [Mon, 13 Jul 2009 20:34:31 +0000 (23:34 +0300)]
Report errors from lexical and stream level in parser
Before, only the syntax level (parse_*) was able to set the error
string. This patch fixes the situation so that lexical (lex_*) and
stream (stream_*) levels can report detailed error messages.
Also, instead of 0, EOF is now returned by stream on error.
Petri Lehtinen [Mon, 13 Jul 2009 18:39:51 +0000 (21:39 +0300)]
Get rid of JSON_SORT_KEYS dump flag
Object sorting will be implemented later.
Petri Lehtinen [Mon, 13 Jul 2009 18:03:09 +0000 (21:03 +0300)]
Decode and check for correct UTF-8
All strings (decoded JSON text, the argument of json_string(), the key
argument of json_object_set()) are checked for valid UTF-8.
Petri Lehtinen [Mon, 13 Jul 2009 08:01:20 +0000 (11:01 +0300)]
Streamify the loader
It's no longer needed to load the whole input into a string and then
parse from the string. Instead, the input is read as needed from
a string or file.
Petri Lehtinen [Mon, 13 Jul 2009 07:31:42 +0000 (10:31 +0300)]
Get rid of json_dumpfd and json_loadfd
fdopen() makes supporting separate API for file descriptors useless.
Supporting fd's also makes Jansson less portable.
Petri Lehtinen [Sat, 11 Jul 2009 08:16:14 +0000 (11:16 +0300)]
Little clean-up in parser
Before, json_loads checked for '[' or '{' at the beginning. Now
there's a dedicated function for that: parse_json(). Also rename
parse() to parse_value().
Petri Lehtinen [Sat, 11 Jul 2009 07:52:57 +0000 (10:52 +0300)]
Unify naming in parser
No functional changes.
Petri Lehtinen [Thu, 9 Jul 2009 18:48:04 +0000 (21:48 +0300)]
Make the lexer not depend on locale
... by not using isalpha() and isspace(). While at it, fix some other
minor things.
Petri Lehtinen [Thu, 9 Jul 2009 17:54:29 +0000 (20:54 +0300)]
Don't dump extra spaces when indenting
Petri Lehtinen [Thu, 9 Jul 2009 18:01:40 +0000 (21:01 +0300)]
Add some tests
Petri Lehtinen [Sat, 4 Jul 2009 19:02:16 +0000 (22:02 +0300)]
Fix dumping of Unicode control codes
Inside strings, All UTF-8 characters except for \, " and Unicode
control codes are dumped as-is. The control codes that have a special
one-character escape use that escape, and other control codes are
dumped using the \uXXXX escape.
Petri Lehtinen [Sat, 4 Jul 2009 10:18:49 +0000 (13:18 +0300)]
Fix number tokenizer
Petri Lehtinen [Fri, 3 Jul 2009 20:22:47 +0000 (23:22 +0300)]
Fix empty array dumping
Petri Lehtinen [Tue, 30 Jun 2009 11:39:55 +0000 (14:39 +0300)]
strbuffer: Optimize string termination
Do not zero all of the memory, just the first unused byte to make the
string null terminated.
Petri Lehtinen [Mon, 22 Jun 2009 21:14:28 +0000 (00:14 +0300)]
Separate integers and real numbers
Petri Lehtinen [Mon, 22 Jun 2009 21:06:38 +0000 (00:06 +0300)]
Use -Werror
Petri Lehtinen [Mon, 22 Jun 2009 18:09:25 +0000 (21:09 +0300)]
Fix json_loadf and json_loadfd with empty input
Nothing was appended to strbuffer, so the buffer was left empty. An
empty strbuffer is not an empty string but NULL, so the result was a
segfault.
This patch fixes the problem by initializing strbuffer to an empty
string.
Petri Lehtinen [Sun, 21 Jun 2009 13:04:43 +0000 (16:04 +0300)]
Print correct error message on premature end of array
Petri Lehtinen [Mon, 15 Jun 2009 19:30:52 +0000 (22:30 +0300)]
Fix json_set_error
Both error->line and error->text were set improperly, sigh.
Petri Lehtinen [Mon, 15 Jun 2009 19:30:17 +0000 (22:30 +0300)]
Don't use AM_MAINTAINER_MODE
Petri Lehtinen [Sun, 14 Jun 2009 07:33:20 +0000 (10:33 +0300)]
Add TODO
Petri Lehtinen [Sat, 13 Jun 2009 19:54:57 +0000 (22:54 +0300)]
Fix a few memory leaks in json_parse_object()
Petri Lehtinen [Sat, 13 Jun 2009 19:28:26 +0000 (22:28 +0300)]
Implement json_load, json_loadf and json_loadfd
Petri Lehtinen [Sat, 13 Jun 2009 19:26:45 +0000 (22:26 +0300)]
strbuffer_value: Return a read-only pointer rather than duplicating the value
Petri Lehtinen [Sat, 13 Jun 2009 19:26:23 +0000 (22:26 +0300)]
strbuffer: Allocate enough space for value initially
Petri Lehtinen [Thu, 11 Jun 2009 05:56:11 +0000 (08:56 +0300)]
Implement strbuffer
String buffer (strbuffer) is an object that resizes automatically when
data is added to it. It was implemented by generalizing the technique
used in json_dumps().
Petri Lehtinen [Thu, 11 Jun 2009 05:54:40 +0000 (08:54 +0300)]
Move max() to util.h
Petri Lehtinen [Tue, 9 Jun 2009 19:37:31 +0000 (22:37 +0300)]
Implement json_dump and json_dumps
Petri Lehtinen [Sat, 16 May 2009 19:26:51 +0000 (22:26 +0300)]
Add autotools generated files to .gitignore
Petri Lehtinen [Sat, 16 May 2009 12:15:01 +0000 (15:15 +0300)]
Implement dumping to an fd
Petri Lehtinen [Wed, 13 May 2009 19:25:34 +0000 (22:25 +0300)]
Refactor error reporting
Petri Lehtinen [Tue, 12 May 2009 19:21:50 +0000 (22:21 +0300)]
Use autoconf, automake & libtool
Petri Lehtinen [Tue, 12 May 2009 19:15:48 +0000 (22:15 +0300)]
Fix json_object_get
Petri Lehtinen [Tue, 12 May 2009 19:07:50 +0000 (22:07 +0300)]
Get rid of include/
Petri Lehtinen [Wed, 6 May 2009 18:01:00 +0000 (21:01 +0300)]
Parse an empty object correctly
Petri Lehtinen [Tue, 12 May 2009 18:34:14 +0000 (21:34 +0300)]
Implement dumping to file
Petri Lehtinen [Thu, 30 Apr 2009 13:38:39 +0000 (16:38 +0300)]
Bump hashtable, allocate object->hashtable statically
Hashtable code from git://github.com/akheron/hashtable.git commit
7331ba6acdb415a2af62ae3e93fdd39c2a83b768
Petri Lehtinen [Thu, 30 Apr 2009 13:38:22 +0000 (16:38 +0300)]
Add support for iterating over objects
Petri Lehtinen [Fri, 6 Feb 2009 18:26:27 +0000 (20:26 +0200)]
Initial import