jansson.git
14 years agoadd meaningful copyright to jansson.hpp
Sean Middleditch [Tue, 19 Jan 2010 05:55:25 +0000 (21:55 -0800)]
add meaningful copyright to jansson.hpp

14 years agointegrate jansson.hpp into build and test suite
Sean Middleditch [Tue, 19 Jan 2010 05:36:02 +0000 (21:36 -0800)]
integrate jansson.hpp into build and test suite

14 years agoMerge branch 'master' of /home/elanthis/Source/janssonxx
Sean Middleditch [Tue, 19 Jan 2010 05:26:10 +0000 (21:26 -0800)]
Merge branch 'master' of /home/elanthis/Source/janssonxx

Conflicts:
.gitignore

14 years agoreplace json::from() with explicit Value() constructors
Sean Middleditch [Tue, 19 Jan 2010 03:24:25 +0000 (19:24 -0800)]
replace json::from() with explicit Value() constructors

14 years agomove static functions out of Value, add test driver to ensure linking works properly
Sean Middleditch [Tue, 19 Jan 2010 02:50:13 +0000 (18:50 -0800)]
move static functions out of Value, add test driver to ensure linking works properly

14 years agorename jansson namespace to json
Sean Middleditch [Tue, 19 Jan 2010 02:37:13 +0000 (18:37 -0800)]
rename jansson namespace to json

14 years agorename files to match upstream's preferences
Sean Middleditch [Sun, 17 Jan 2010 04:27:13 +0000 (20:27 -0800)]
rename files to match upstream's preferences

14 years agoadd comments noting inefficiency of stream ops
Sean Middleditch [Sun, 17 Jan 2010 04:21:52 +0000 (20:21 -0800)]
add comments noting inefficiency of stream ops

14 years agoadded a couple minor comments
Sean Middleditch [Sun, 17 Jan 2010 04:17:48 +0000 (20:17 -0800)]
added a couple minor comments

14 years agocleanup code
Sean Middleditch [Sun, 17 Jan 2010 04:15:33 +0000 (20:15 -0800)]
cleanup code

14 years agorename ArrayProxy to ElementProxy and ObjectProxy to PropertyProxy
Sean Middleditch [Sat, 16 Jan 2010 09:40:16 +0000 (01:40 -0800)]
rename ArrayProxy to ElementProxy and ObjectProxy to PropertyProxy

14 years agorename and move the _* private classes to _private namespace
Sean Middleditch [Sat, 16 Jan 2010 09:36:13 +0000 (01:36 -0800)]
rename and move the _* private classes to _private namespace

14 years agoadd object property proxy support
Sean Middleditch [Sat, 16 Jan 2010 09:31:37 +0000 (01:31 -0800)]
add object property proxy support

14 years agoadd array element proxy support
Sean Middleditch [Sat, 16 Jan 2010 09:24:27 +0000 (01:24 -0800)]
add array element proxy support

14 years agotemplatize janssonxx functionality to prepare for proxy setters
Sean Middleditch [Sat, 16 Jan 2010 09:13:19 +0000 (01:13 -0800)]
templatize janssonxx functionality to prepare for proxy setters

14 years agodont attempt to create a std::string from NULL in as_string()
Sean Middleditch [Thu, 14 Jan 2010 02:35:07 +0000 (18:35 -0800)]
dont attempt to create a std::string from NULL in as_string()

14 years agosave flags default to 0
Sean Middleditch [Thu, 14 Jan 2010 02:34:17 +0000 (18:34 -0800)]
save flags default to 0

14 years agoadd a safeguard against NULL return output stream
Sean Middleditch [Thu, 14 Jan 2010 02:33:19 +0000 (18:33 -0800)]
add a safeguard against NULL return output stream

14 years agoadd Value::from(float)
Sean Middleditch [Thu, 14 Jan 2010 02:32:44 +0000 (18:32 -0800)]
add Value::from(float)

14 years agoinsert and remove methods
Sean Middleditch [Wed, 13 Jan 2010 00:17:11 +0000 (16:17 -0800)]
insert and remove methods

14 years agoadd proper attribution to janssonxx.h
Sean Middleditch [Wed, 13 Jan 2010 00:07:57 +0000 (16:07 -0800)]
add proper attribution to janssonxx.h

14 years agouse different temporaries in tests instead of reusing e3
Sean Middleditch [Wed, 13 Jan 2010 00:03:27 +0000 (16:03 -0800)]
use different temporaries in tests instead of reusing e3

14 years agoremove auto type conversion on array/object assignment
Sean Middleditch [Tue, 12 Jan 2010 23:38:47 +0000 (15:38 -0800)]
remove auto type conversion on array/object assignment

14 years agorename as_json_t to as_json
Sean Middleditch [Tue, 12 Jan 2010 23:33:36 +0000 (15:33 -0800)]
rename as_json_t to as_json

14 years agoadd (ugly) stream support
Sean Middleditch [Tue, 12 Jan 2010 23:29:45 +0000 (15:29 -0800)]
add (ugly) stream support

14 years agorename the set() methods
Sean Middleditch [Tue, 12 Jan 2010 23:14:57 +0000 (15:14 -0800)]
rename the set() methods

14 years agoUpdate documentation
Petri Lehtinen [Tue, 12 Jan 2010 19:29:16 +0000 (21:29 +0200)]
Update documentation

* Python is no longer required to run the tests
* Mention pkg-config support
* Fix some errors

14 years agoremove some unnecessary checks
Sean Middleditch [Tue, 12 Jan 2010 12:30:02 +0000 (04:30 -0800)]
remove some unnecessary checks

14 years agocleanup the take_ownership function a bit
Sean Middleditch [Tue, 12 Jan 2010 12:26:30 +0000 (04:26 -0800)]
cleanup the take_ownership function a bit

14 years agoadded save_file and save_string methods
Sean Middleditch [Tue, 12 Jan 2010 12:20:17 +0000 (04:20 -0800)]
added save_file and save_string methods

14 years agoinclude jansson.h inside the jansson namespace
Sean Middleditch [Tue, 12 Jan 2010 12:13:26 +0000 (04:13 -0800)]
include jansson.h inside the jansson namespace

14 years agotest object property assignment and clear
Sean Middleditch [Tue, 12 Jan 2010 09:41:17 +0000 (01:41 -0800)]
test object property assignment and clear

14 years agoexpand array assignment tests
Sean Middleditch [Tue, 12 Jan 2010 09:34:58 +0000 (01:34 -0800)]
expand array assignment tests

14 years agoadd link to Jansson web to README
Sean Middleditch [Tue, 12 Jan 2010 09:31:08 +0000 (01:31 -0800)]
add link to Jansson web to README

14 years agoadded README
Sean Middleditch [Tue, 12 Jan 2010 09:29:44 +0000 (01:29 -0800)]
added README

14 years agocleaner assignment behavior
Sean Middleditch [Tue, 12 Jan 2010 09:26:47 +0000 (01:26 -0800)]
cleaner assignment behavior

14 years agoignore test-bin output file
Sean Middleditch [Tue, 12 Jan 2010 09:10:38 +0000 (01:10 -0800)]
ignore test-bin output file

14 years agoadd tests
Sean Middleditch [Tue, 12 Jan 2010 09:10:20 +0000 (01:10 -0800)]
add tests

14 years agoinitial commit of janssonxx.h
Sean Middleditch [Tue, 12 Jan 2010 09:10:09 +0000 (01:10 -0800)]
initial commit of janssonxx.h

14 years agoFix memory leaks in json_equal() tests
Petri Lehtinen [Sun, 10 Jan 2010 19:01:59 +0000 (21:01 +0200)]
Fix memory leaks in json_equal() tests

14 years agoFix memory leaks in json_*_deep_copy()
Petri Lehtinen [Sun, 10 Jan 2010 19:01:07 +0000 (21:01 +0200)]
Fix memory leaks in json_*_deep_copy()

14 years agoEnable Valgrind support in the API suite
Petri Lehtinen [Sun, 10 Jan 2010 14:18:45 +0000 (16:18 +0200)]
Enable Valgrind support in the API suite

It was accidentally left out when the test system was refactored.

14 years agoUse _nocheck functions internally for speed
Petri Lehtinen [Sun, 10 Jan 2010 12:39:04 +0000 (14:39 +0200)]
Use _nocheck functions internally for speed

There are some places where we copy a string from an existing JSON
value. In these cases the string has already been checked for valid
UTF-8.

14 years agoAdd functions for shallow and deep copying JSON values
Petri Lehtinen [Thu, 31 Dec 2009 13:56:28 +0000 (15:56 +0200)]
Add functions for shallow and deep copying JSON values

14 years agoAdd equality test for JSON values
Petri Lehtinen [Thu, 31 Dec 2009 15:39:36 +0000 (17:39 +0200)]
Add equality test for JSON values

14 years agoAdd check-exports test
Petri Lehtinen [Mon, 21 Dec 2009 12:00:57 +0000 (14:00 +0200)]
Add check-exports test

14 years agoAdd _nocheck functions
Petri Lehtinen [Mon, 21 Dec 2009 12:00:40 +0000 (14:00 +0200)]
Add _nocheck functions

Added functions are:

* json_string_nocheck()
* json_string_set_nocheck()
* json_object_set_nocheck()
* json_object_set_new_nocheck()

These functions don't check that their string argument is valid UTF-8,
but assume that the user has already performed the check.

14 years agoMerge branch '1.1'
Petri Lehtinen [Mon, 21 Dec 2009 12:13:05 +0000 (14:13 +0200)]
Merge branch '1.1'

14 years agoRemove const qualifier from the json_t parameter in json_*_set() functions.
Petri Lehtinen [Mon, 21 Dec 2009 12:01:59 +0000 (14:01 +0200)]
Remove const qualifier from the json_t parameter in json_*_set() functions.

It's incorrect as these functions modify the value.

14 years agoFix tests for real
Petri Lehtinen [Thu, 17 Dec 2009 22:03:38 +0000 (00:03 +0200)]
Fix tests for real

The tests were broken by the "%.17g" fix that was merged from the 1.1
branch.

14 years agoMerge branch '1.1'
Petri Lehtinen [Sun, 20 Dec 2009 19:18:27 +0000 (21:18 +0200)]
Merge branch '1.1'

Conflicts:
configure.ac
doc/conf.py

14 years agoEnhance tests
Petri Lehtinen [Wed, 16 Dec 2009 20:05:55 +0000 (22:05 +0200)]
Enhance tests

* Now that JSON_SORT_KEYS is implemented, take it into use with the
  valid and valid-strip suites. This is to ensure that the tests
  remain valid even if the string hash function is changed in the
  future.

* Remove test_dump API test. Instead, implement the same tests more
  elegantly in the encoding-flags suite.

14 years agojansson 1.1.3 v1.1.3
Petri Lehtinen [Fri, 18 Dec 2009 19:43:12 +0000 (21:43 +0200)]
jansson 1.1.3

14 years agoEncode reals correctly
Petri Lehtinen [Thu, 17 Dec 2009 21:42:13 +0000 (23:42 +0200)]
Encode reals correctly

This patch changes the sprintf format from "%0.17f" to "%.17g", as the
f format specifier doesn't print the exponent at all. This caused
losing precision in all but the most simple cases.

Because the g specifier doesn't print the decimal fraction or exponent
if they're not needed, a ".0" has to be appended by hand in these
cases. Otherwise the value's type changes from real to integer when
decoding again.

Thanks to Philip Grandinetti for reporting this issue.

14 years agoImplement JSON_SORT_KEYS encoding flag
Petri Lehtinen [Mon, 7 Dec 2009 11:16:45 +0000 (13:16 +0200)]
Implement JSON_SORT_KEYS encoding flag

With this flag, the objects are sorted by key when encoding.

14 years agoRefactor the test system
Petri Lehtinen [Mon, 14 Dec 2009 21:01:36 +0000 (23:01 +0200)]
Refactor the test system

14 years agoImplement JSON_ENSURE_ASCII encoding flag
Petri Lehtinen [Sat, 5 Dec 2009 20:55:30 +0000 (22:55 +0200)]
Implement JSON_ENSURE_ASCII encoding flag

With this flag, all Unicode characters outside the ASCII range are
escaped.

14 years agoUse int32_t instead of plain int with Unicode code points
Petri Lehtinen [Wed, 2 Dec 2009 21:48:50 +0000 (23:48 +0200)]
Use int32_t instead of plain int with Unicode code points

On some architectures, int just isn't big enough to hold all Unicode
code points.

14 years agoOnly export symbols starting with "json_" in libjansson.la
Petri Lehtinen [Sun, 29 Nov 2009 11:04:00 +0000 (13:04 +0200)]
Only export symbols starting with "json_" in libjansson.la

This way we don't pollute the symbol namespace with internal symbols.

14 years agoMake parse_json static
Petri Lehtinen [Sun, 29 Nov 2009 11:00:47 +0000 (13:00 +0200)]
Make parse_json static

14 years agodoc/github_commits.c Add copyright notice
Petri Lehtinen [Sat, 28 Nov 2009 11:39:06 +0000 (13:39 +0200)]
doc/github_commits.c Add copyright notice

14 years agoMerge branch '1.1'
Petri Lehtinen [Sun, 8 Nov 2009 20:01:02 +0000 (22:01 +0200)]
Merge branch '1.1'

Conflicts:
configure.ac
doc/conf.py

14 years agojansson 1.1.2 v1.1.2
Petri Lehtinen [Sun, 8 Nov 2009 12:13:32 +0000 (14:13 +0200)]
jansson 1.1.2

14 years agoDon't include stdint.h in jansson.h
Petri Lehtinen [Sat, 7 Nov 2009 12:45:45 +0000 (14:45 +0200)]
Don't include stdint.h in jansson.h

It's not needed

14 years agoMerge branch '1.1'
Petri Lehtinen [Wed, 4 Nov 2009 20:10:46 +0000 (22:10 +0200)]
Merge branch '1.1'

Conflicts:
test/.gitignore
test/testprogs/Makefile.am

14 years agodump: Revise whitespace usage
Petri Lehtinen [Wed, 4 Nov 2009 19:24:22 +0000 (21:24 +0200)]
dump: Revise whitespace usage

- Never append newline to output
- By default, add spaces between array and object items for more
  readable output
- Introduce the flag JSON_COMPACT to not add the aforementioned spaces

14 years agoBuild documentation in make html target
Petri Lehtinen [Tue, 3 Nov 2009 21:07:43 +0000 (23:07 +0200)]
Build documentation in make html target

To keep the distchecks for the documentation, the documentation has to
be built in the check target instead of distcheck-hook.

While at it, rename doc/.build to doc/_build. This naming is the
default with sphinx 0.6.2.

14 years agoload: Parse a badly put - sign correctly
Petri Lehtinen [Thu, 29 Oct 2009 13:42:05 +0000 (15:42 +0200)]
load: Parse a badly put - sign correctly

Thanks to Manolis Delakis for reporting.

14 years agojson_load_file: Initialize the error struct properly
Petri Lehtinen [Tue, 27 Oct 2009 15:46:57 +0000 (17:46 +0200)]
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.

14 years agoMerge branch '1.1'
Petri Lehtinen [Mon, 26 Oct 2009 19:33:03 +0000 (21:33 +0200)]
Merge branch '1.1'

Conflicts:
CHANGES
configure.ac
doc/conf.py

14 years agojansson 1.1.1 v1.1.1
Petri Lehtinen [Mon, 26 Oct 2009 19:27:10 +0000 (21:27 +0200)]
jansson 1.1.1

14 years agoBuild documentation in distcheck-hook
Petri Lehtinen [Sat, 24 Oct 2009 21:18:03 +0000 (00:18 +0300)]
Build documentation in distcheck-hook

This is to check that all the documentation files are distributed
before releasing.

14 years agoReally distribute all the docs
Petri Lehtinen [Sat, 24 Oct 2009 21:17:16 +0000 (00:17 +0300)]
Really distribute all the docs

The tutorial example github_commits.c was still left out.

14 years agoDistribute all the docs
Petri Lehtinen [Sat, 24 Oct 2009 10:41:39 +0000 (13:41 +0300)]
Distribute all the docs

14 years agoFix version 1.1 release date in CHANGES
Petri Lehtinen [Wed, 21 Oct 2009 05:52:34 +0000 (08:52 +0300)]
Fix version 1.1 release date in CHANGES

14 years agoFix version 1.1 release date in CHANGES
Petri Lehtinen [Wed, 21 Oct 2009 05:52:34 +0000 (08:52 +0300)]
Fix version 1.1 release date in CHANGES

14 years agoSet the version number to 1.1+
Petri Lehtinen [Wed, 21 Oct 2009 05:51:43 +0000 (08:51 +0300)]
Set the version number to 1.1+

14 years agojansson 1.1 v1.1
Petri Lehtinen [Tue, 20 Oct 2009 18:29:16 +0000 (21:29 +0300)]
jansson 1.1

14 years agoDistribute stripped unit test data
Petri Lehtinen [Tue, 20 Oct 2009 18:23:06 +0000 (21:23 +0300)]
Distribute stripped unit test data

Apparently, it was forgotten to add these files to
test/testdata/Makefile.am in commit
04d550b02e8eadc0c9fb1966fe42fe9fc25f89e0.

14 years agoEnhance documentation
Petri Lehtinen [Mon, 19 Oct 2009 18:55:21 +0000 (21:55 +0300)]
Enhance documentation

- Add more information to the documentation front page
- Document how to build the documentation
- Clarify the tutorial a bit and remove some quirks
- Bring README.rst up-to-date
- Small enhancements here and there

14 years agoAdd C++ guards to jansson.h
raoulh [Mon, 19 Oct 2009 09:14:38 +0000 (02:14 -0700)]
Add C++ guards to jansson.h

Signed-off-by: Petri Lehtinen <petri@digip.org>
14 years agodoc: Add tutorial
Petri Lehtinen [Sat, 17 Oct 2009 11:18:40 +0000 (14:18 +0300)]
doc: Add tutorial

14 years agoFix indentation
Petri Lehtinen [Fri, 16 Oct 2009 18:20:38 +0000 (21:20 +0300)]
Fix indentation

No functional changes.

14 years agojson_dumpf: Document the output shortage on error
Petri Lehtinen [Thu, 15 Oct 2009 18:06:59 +0000 (21:06 +0300)]
json_dumpf: Document the output shortage on error

14 years agoEnhance handling of circular references
Petri Lehtinen [Thu, 15 Oct 2009 18:02:27 +0000 (21:02 +0300)]
Enhance handling of circular references

It's now an error to try to add an object or array to itself. The
encoder checks for circular references and fails with an error status
if one is detected.

14 years agojson_dumps: Close the strbuffer if dumping fails
Petri Lehtinen [Thu, 15 Oct 2009 17:54:32 +0000 (20:54 +0300)]
json_dumps: Close the strbuffer if dumping fails

14 years agodoc: Fix a small typo in apiref
Petri Lehtinen [Thu, 15 Oct 2009 14:39:49 +0000 (17:39 +0300)]
doc: Fix a small typo in apiref

14 years agodoc/Makefile.am: Remove *.pyc in clean
Petri Lehtinen [Wed, 14 Oct 2009 19:09:14 +0000 (22:09 +0300)]
doc/Makefile.am: Remove *.pyc in clean

14 years agoMake integer, real and string mutable
Petri Lehtinen [Tue, 13 Oct 2009 19:51:04 +0000 (22:51 +0300)]
Make integer, real and string mutable

Added functions:

  json_string_set
  json_integer_set
  json_real_set

While at it, clarify the documentation and parameter naming of
json_{string,integer,real}_value() a bit.

14 years agoDon't use non-portable asprintf()
Petri Lehtinen [Tue, 13 Oct 2009 12:40:26 +0000 (15:40 +0300)]
Don't use non-portable asprintf()

Thanks to Adam Strzelecki for reporting.

14 years agoMerge branch '1.0'
Petri Lehtinen [Sun, 11 Oct 2009 18:51:54 +0000 (21:51 +0300)]
Merge branch '1.0'

Conflicts:
configure.ac
doc/conf.py

14 years agojansson 1.0.4 origin/1.0 v1.0.4
Petri Lehtinen [Sun, 11 Oct 2009 18:30:12 +0000 (21:30 +0300)]
jansson 1.0.4

14 years agoFix API tests for object
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.

14 years agoRemove config.h.in
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.

14 years agoExtend object API
Petri Lehtinen [Sun, 11 Oct 2009 17:42:43 +0000 (20:42 +0300)]
Extend object API

Added functions:

  json_object_size
  json_object_clear
  json_object_update

14 years agoFix API tests for object
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.

14 years agoCheck json_object_set_new arguments
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.

14 years agoRemove config.h.in
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.

14 years agoFix a few more compilation issues
Petri Lehtinen [Tue, 6 Oct 2009 10:22:26 +0000 (13:22 +0300)]
Fix a few more compilation issues

These were left out from the previous commit.

14 years agoMake it compile on platforms where char is unsigned
Petri Lehtinen [Thu, 1 Oct 2009 18:52:12 +0000 (21:52 +0300)]
Make it compile on platforms where char is unsigned

Linux on powerpc seems to be one such platform.