Christopher Dunn
0d33cb3639
Merge pull request #211 from cdunn2001/except
...
* Add Json::Exception and derivatives.
* Clarify when exceptions are thrown, to avoid crashes caused by malicious input.
* Use our own type (derived fro std::exception) so they are trappable.
2015-03-08 12:50:34 -05:00
Christopher Dunn
2250b3c29d
use Json::RuntimeError
2015-03-08 12:44:55 -05:00
Christopher Dunn
9376368d86
use Json::LogicError in macros
2015-03-08 12:42:53 -05:00
Christopher Dunn
5383794cc9
Runtime/LogicError and throwers
2015-03-08 12:31:57 -05:00
Christopher Dunn
75279ccec2
base Json::Exception
2015-03-08 12:20:06 -05:00
Christopher Dunn
717b08695e
clarify errors
...
* use macros for logic errors, not input errors
* throw on parsing failure in `operator>>()`, not assert
* throw on malloc, not assert
2015-03-08 12:06:22 -05:00
Christopher Dunn
ee4ea0ec3f
delete debug code from test
2015-03-07 15:47:39 -06:00
Christopher Dunn
ce19001238
require length
...
Ugh! I meant to do this long ago. It would have caught my blunder.
2015-03-07 15:12:52 -06:00
Christopher Dunn
078f991c57
1.5.4 <- 1.5.3
...
important bug-fix (thx to datadiode@)
2015-03-07 14:52:01 -06:00
Christopher Dunn
72b5293695
Merge pull request #207 from cdunn2001/fix_CZString_copy_constructor
...
Fix czstring copy constructor
2015-03-07 14:49:54 -06:00
Christopher Dunn
a63d82d78a
drop unused CString ctor case
...
`Value::CZString::CZString(char const* str, unsigned length, DuplicationPolicy allocate)` with `allocate == duplicate` does not happen.
2015-03-07 14:43:37 -06:00
datadiode
ee83f8891c
Trivial fixes in CZString constructors.
2015-03-07 14:43:07 -06:00
Christopher Dunn
5c448687e1
fix ValueTest/zeroes*
2015-03-07 14:41:15 -06:00
Christopher Dunn
401e98269e
old-style enum namespacing
2015-03-06 16:11:55 -06:00
Christopher Dunn
b2a7438d08
Merge pull request #205 from open-source-parsers/reject-dup-keys
...
[Shekhar (shakers007) wrote](https://sourceforge.net/p/jsoncpp/bugs/22/ ):
> As per RFC4627 (section 2.2), names within an object should be unique. When using JSONCPP's strict mode, parsing such an object should fail.
2015-03-06 12:58:55 -06:00
Christopher Dunn
62ad140d18
rejectDupKeys
2015-03-06 12:39:05 -06:00
Christopher Dunn
527332d5d5
add rejectDupKeys feature - not yet impld
2015-03-06 12:38:58 -06:00
Christopher Dunn
cada3b951f
test for repeated key in strictMode
...
https://sourceforge.net/p/jsoncpp/bugs/22/
2015-03-06 12:38:00 -06:00
Christopher Dunn
ff61752444
change str_ for cross-compilation
...
https://sourceforge.net/p/jsoncpp/bugs/59/
2015-03-06 10:31:46 -06:00
Christopher Dunn
7f439f4276
clarify operator=
2015-03-06 09:22:57 -06:00
Christopher Dunn
3976f17ffd
test assignment over-writes comments, but swapPayload() does not
2015-03-06 09:16:19 -06:00
Christopher Dunn
80ca11bb41
test commentBefore
...
for issue #203
2015-03-06 05:55:19 -06:00
Christopher Dunn
2fc08b4ebd
clarify which versions work with old compilers
2015-03-05 21:45:42 -06:00
Christopher Dunn
239c733ab5
1.5.3 <- 1.5.2
2015-03-05 18:27:52 -06:00
Christopher Dunn
295e73ff3c
generate both version.h and version from CMakelists.txt
...
This forces consistency, since they will be re-generated whenever
a git operation alters CMakelists.txt. They are still in the repo
because users might not actually run cmake.
2015-03-05 18:27:39 -06:00
Christopher Dunn
2a840c105c
had trouble finding Python on Windows
...
With this change, `make jsoncpp_check` will still fail if Python
is missing, so our CI tests are unaffected.
2015-03-05 17:42:12 -06:00
Christopher Dunn
7ec98dc9fe
Merge pull request #202 from open-source-parsers/get-with-zero
...
`Value::get(key, default)` with zero
2015-03-05 16:56:56 -06:00
Christopher Dunn
0fd2875a44
fix get() for embedded zeroes in key
...
This method had been overlooked.
2015-03-05 16:47:29 -06:00
Christopher Dunn
d31151d150
test get(key, default)
2015-03-05 16:44:50 -06:00
Christopher Dunn
f50145fbda
Merge pull request #201 from open-source-parsers/vs
...
* Copy .dll for running unit-tests in VisualStudio.
* Stop using `do{}while(0)` idiom b/c VisualStudio warns.
* Fix a warning in a test.
2015-03-05 16:37:42 -06:00
Christopher Dunn
b3e6f3d70f
drop do{}while(0)
idiom
...
Rationale:
* http://stackoverflow.com/questions/154136/do-while-and-if-else-statements-in-c-c-macros/154138#154138
But Visual Studio issues a warning: `warning C4127: conditional expression is constant`
* http://stackoverflow.com/questions/1946445/c-c-how-to-use-the-do-while0-construct-without-compiler-warnings-like-c412
2015-03-05 15:26:29 -06:00
Christopher Dunn
13e063c336
copy .dll for unit-test
...
Fix 2nd problem in issue #200 .
* http://stackoverflow.com/questions/10671916/how-to-copy-dll-files-into-the-same-folder-as-the-executable-using-cmake
Q: What about the Python tests?
A: They are not normally run in Visual Studio. If desired, one can set PATH.
2015-03-05 15:23:20 -06:00
Christopher Dunn
f57da48f48
maybe address warning
...
cmake -DCMAKE_BUILD_TYPE=debug -DJSONCPP_LIB_BUILD_STATIC=OFF
-DJSONCPP_LIB_BUILD_SHARED=ON -G "Visual Studio 10" ../..
`potentially uninitialized local variable 'dist' (line 2212 of
test_lib_json/main.cpp)`
2015-03-05 14:41:42 -06:00
Christopher Dunn
eaa3fd8eca
maybe fix DLL symbols for VS
2015-03-05 10:11:43 -06:00
Christopher Dunn
ff63d034e5
1.5.2 <- 1.5.1
...
* Fixed compile error for VS2013.
* Added `operator[]` to Builders. Recalling previous minor versions for
bug-fixes.
2015-03-05 09:18:44 -06:00
Christopher Dunn
2aa4557e79
Merge pull request #199 from open-source-parsers/set-builders
...
Setting builders
2015-03-05 09:18:06 -06:00
Christopher Dunn
37dde9d29d
fix example in docs
2015-03-05 09:18:06 -06:00
Christopher Dunn
c312dd5ef7
Builder::operator[] plus tests
2015-03-05 09:18:01 -06:00
Christopher Dunn
42d7e59fe0
fix compiler-error and warnings for VS2013
...
fix issue #200
2015-03-05 09:15:10 -06:00
Christopher Dunn
a8104a8035
1.5.1 <- 1.5.0
...
Fixed Builders ::validate(). Added tests.
2015-03-04 21:18:05 -06:00
Christopher Dunn
7b22768c33
test Builders::validate()
2015-03-04 21:17:03 -06:00
Christopher Dunn
19c49a459d
fix Builders::validate()
...
(cherry picked from commit 626cfcdbb8
)
2015-03-04 21:14:53 -06:00
Christopher Dunn
99822b27cd
clarify python version
2015-03-03 16:17:11 -06:00
Christopher Dunn
8a70297869
fix inline doxygen comments
2015-03-03 16:17:08 -06:00
Christopher Dunn
24f544996f
no struct init
...
The C struct initializer is not standard C++.
GCC and Clang handle this (at least in some versions) but some
compilers might not.
2015-03-03 10:15:09 -06:00
Christopher Dunn
0c91927da2
assertions should be logic_error
2015-03-03 09:45:33 -06:00
Christopher Dunn
493f6dcebe
keep StaticString (!allocated_) for copy ctor
2015-03-03 09:36:22 -06:00
Christopher Dunn
eaa06355e1
test Json::Value::null
2015-03-03 08:45:52 -06:00
Christopher Dunn
effd732aa1
null -> nullRef
2015-03-03 01:25:33 -06:00
Christopher Dunn
70cd04d49a
1.5.0 <- 1.4.4
2015-03-03 00:45:57 -06:00