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
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
2d653bd15d
fix security hole for string-key-lengths > 2^30
2015-03-03 00:14:54 -06:00
Christopher Dunn
585b267595
tests for zeroes
...
* ValueTest/zeroes
* ValueTest/zeroesInKeys
2015-03-03 00:14:54 -06:00
Christopher Dunn
c28610fb5d
fix StaticString test
...
* support zeroes in string_
* support zeroes in writer; provide getString(char**, unsigned*)
* valueToQuotedStringN(), isCC0(), etc
* allow zeroes for cpptl ConstString
* allocated => non-static
2015-03-03 00:14:54 -06:00
Christopher Dunn
a53283568f
cp duplicateStringValue()
2015-03-03 00:14:53 -06:00
Christopher Dunn
25342bac13
support UTF-8 for const methods
2015-03-03 00:14:53 -06:00
Christopher Dunn
e6b46e4503
stop computing strlen() in CZString
2015-03-02 23:50:59 -06:00
Christopher Dunn
8a77037320
actually store length in CZString
2015-03-02 23:50:59 -06:00
Christopher Dunn
57ad051f67
allow length in CZString
2015-03-02 23:50:59 -06:00
Christopher Dunn
b383fdc61e
use memcmp in CZString
...
This is a loss of efficiency, but it prepares for an increase when we
have stored lengths.
2015-03-02 23:50:59 -06:00
Christopher Dunn
0570f9eefb
test StaticString
2015-03-02 17:06:09 -06:00
Mark Lakata
8051cf6ba7
changed length argument of duplicateStringValue from unsigned int to size_t, to avoid warnings in Visual Studio.
2015-03-02 11:57:17 -08:00
Christopher Dunn
9998094eee
skip python jsontestrunner by default
...
To run these tests, in cmake build-dir:
make jsoncpp_check
TravisCI is now set to run these always.
For now, the test_json_lib unit-tests will still run.
issue #187
2015-02-26 09:41:45 -06:00
Christopher Dunn
4788764844
drop JSON_VALUE_USE_INTERNAL_MAP, JSON_USE_SIMPLE_INTERNAL_ALLOCATOR
...
And remove some old headers.
These were not actually compiling anymore, and there were outstanding,
known bugs, e.g. https://sourceforge.net/p/jsoncpp/bugs/27
2015-02-25 10:04:13 -06:00
Christopher Dunn
0c66e698fb
allowSingleQuotes
...
issue #182
2015-02-24 15:49:45 -06:00
Christopher Dunn
b9229b7400
failing test for allowSingleQuotes
2015-02-23 16:40:06 -06:00
Christopher Dunn
7b3683ccd1
apply fix to old Reader
2015-02-19 11:37:17 -06:00
Christopher Dunn
58499031a4
fix all cases from issue -- all pass!
2015-02-19 11:35:28 -06:00
Christopher Dunn
2c8c1ac0ec
all 8 failing cases from issue
2015-02-19 11:35:20 -06:00
Christopher Dunn
c58e93b014
fix failing object case
2015-02-19 11:34:35 -06:00
Christopher Dunn
eed193e151
object cases; 1st passes, 2nd fails
2015-02-19 11:34:35 -06:00
Christopher Dunn
4382a7b585
cases 0,1,5,9,12 from issue -- passing
2015-02-19 11:32:42 -06:00
Christopher Dunn
f164288646
help rebasing
2015-02-15 03:01:26 -06:00
Christopher Dunn
bd55164089
reverse sense for CPPTL too
2015-02-15 02:38:31 -06:00
Christopher Dunn
8ba9875962
IteratorTest
2015-02-15 02:38:31 -06:00
Christopher Dunn
f4be815c86
failIfExtra
...
1. failing regression tests, from #164 and #107
2. implemented; tests pass
3. allow trailing comments
2015-02-13 09:39:08 -06:00
Christopher Dunn
3ebba5cea8
stop calling validate() in newReader/Writer()
...
By not calling validate(), we can add
non-invasive features which will be simply ignored when user-code
is compiled against an old version. That way, we can often
avoid a minor version-bump.
The user can call validate() himself if he prefers that behavior.
2015-02-11 11:15:32 -06:00
Christopher Dunn
56df206847
limit stackDepth for old (deprecated) Json::Reader too
...
This is an improper solution. If multiple Readers exist,
then the effect stackLimit is reduced because of side-effects.
But our options are limited. We need to address the security
hole without breaking binary-compatibility.
However, this is not likely to cause any practical problems because:
* Anyone using `operator>>(istream, Json::Value)` will be using the
new code already
* Multiple Readers are uncommon.
* The stackLimit is quite high.
* Deeply nested JSON probably would have hit the system limits anyway.
2015-02-11 10:20:53 -06:00
Christopher Dunn
4dca80da49
limit stackDepth
2015-02-11 10:20:47 -06:00
Christopher Dunn
249ad9f47f
stackLimit
2015-02-11 10:01:58 -06:00
Christopher Dunn
99b8e856f6
stackLimit_
2015-02-11 10:01:58 -06:00
Christopher Dunn
89b72e1653
test stackLimit
2015-02-11 10:01:58 -06:00
Christopher Dunn
2474989f24
Old -> Our
2015-02-11 09:48:24 -06:00
Christopher Dunn
315b8c9f2c
1st StreamWriterTest
2015-02-10 23:29:14 -06:00
Christopher Dunn
29501c4d9f
clarify comments
...
And throw instead of return null for invalid settings.
2015-02-10 23:03:27 -06:00
Christopher Dunn
20d09676c2
drop experimental OldCompressingStreamWriterBuilder
2015-02-10 21:29:35 -06:00
Christopher Dunn
5a744708fc
enableYAMLCompatibility and dropNullPlaceholders for StreamWriterBuilder
2015-02-10 21:28:13 -06:00
Christopher Dunn
07f0e9308d
nullRef, since we had to add that kludge to 0.8.0
2015-02-10 21:28:13 -06:00
Christopher Dunn
052050df07
copy Features to OldFeatures
2015-02-10 17:01:08 -06:00
Christopher Dunn
435d2a2f8d
passes
2015-02-10 17:01:08 -06:00
Christopher Dunn
6123bd1505
copy Reader impl to OldReader
2015-02-10 17:01:08 -06:00
Christopher Dunn
7477bcfa3a
renames for OldReader
2015-02-10 17:01:08 -06:00
Christopher Dunn
5e3e68af2e
OldReader copied from Reader
2015-02-10 17:01:08 -06:00
Christopher Dunn
db75cdf21e
mv CommentStyle to .cpp
2015-02-09 18:54:58 -06:00
Christopher Dunn
c41609b9f9
set output stream in write(), not in builder
2015-02-09 18:44:53 -06:00
Christopher Dunn
b56381a636
<stdexcept>
2015-02-09 18:29:11 -06:00
Christopher Dunn
f757c18ca0
add all features
2015-02-09 18:24:56 -06:00
Christopher Dunn
3cf9175bde
remark defaults via doxygen snippet
2015-02-09 18:16:24 -06:00
Christopher Dunn
a9e1ab302d
Builder::settings_
...
We use Json::Value to configure the builders so we can maintain
binary-compatibility easily.
2015-02-09 17:30:11 -06:00
Christopher Dunn
694dbcb328
update docs, writeString()
2015-02-09 15:25:57 -06:00
Christopher Dunn
3a65581b20
drop an old impl
2015-02-09 09:54:26 -06:00
Christopher Dunn
66a8ba255f
clarify Builders
2015-02-09 01:29:43 -06:00
Christopher Dunn
2c1197c2c8
CharReader/Builder
...
* CharReaderBuilder is similar to StreamWriterBuilder.
* use rdbuf(), since getline(string) is not required to handle EOF as delimiter
2015-02-08 13:22:09 -06:00
Christopher Dunn
dee4602b8f
rm unique_ptr<>/shared_ptr<>, for pre-C++11
2015-02-08 11:54:49 -06:00
Christopher Dunn
636121485c
fix JSONCPP_WITH_CMAKE_PACKAGE #155
...
mv JSONCPP_WITH_CMAKE_PACKAGE ahead of INSTALL def.
2015-02-07 11:39:16 -06:00
Christopher Dunn
fe855fb4dd
drop nullptr
...
See issue #153 .
2015-02-02 15:33:47 -06:00
Christopher Dunn
198cc350c5
drop scoped enum, for pre-C++11 compatibility
2015-01-29 13:49:21 -06:00
Peter Spiess-Knafl
5e8595c0e2
added cmake option to build static and shared libraries at once
...
See #147 and #149 .
2015-01-27 18:22:43 -06:00
Christopher Dunn
7eca3b4e88
gcc-4.6 (Travis CI) does not support
2015-01-26 11:17:42 -06:00
Christopher Dunn
6065a1c142
make StreamWriterBuilder concrete
2015-01-26 11:01:15 -06:00
Christopher Dunn
28a20917b0
Move old FastWriter stuff out of new Builder
2015-01-26 10:47:42 -06:00
Christopher Dunn
177b7b8f22
OldCompressingStreamWriterBuilder
2015-01-26 10:44:20 -06:00
Christopher Dunn
c7b39c2e25
deprecate old Writers
...
also, use withers instead of setters, and update docs
2015-01-25 18:45:59 -06:00
Christopher Dunn
d78caa3851
implement strange setting from FastWriter
2015-01-25 18:15:54 -06:00
Christopher Dunn
c6e0688e5a
implement CommentStyle::None/indentation_==""
2015-01-25 17:32:36 -06:00
Christopher Dunn
1e21e63853
default \t indentation, All comments
2015-01-25 16:01:59 -06:00
Christopher Dunn
dea6f8d9a6
incorporate 'proper newlines for comments' into new StreamWriter
2015-01-25 15:55:18 -06:00
Christopher Dunn
fe3979cd8a
drop StreamWriterBuilderFactory, for now
2015-01-25 15:54:40 -06:00
Christopher Dunn
94665eab72
copy fixes from StyledStreamWriter
2015-01-25 15:54:40 -06:00
Christopher Dunn
9243d602fe
const stuff
2015-01-25 15:54:40 -06:00
Christopher Dunn
beb6f35c63
non-const write
2015-01-25 15:54:40 -06:00
Christopher Dunn
ceef7f5219
copied impl of StyledStreamWriter
2015-01-25 15:54:40 -06:00
Christopher Dunn
d49ab5aee1
use new BuiltStyledStreamWriter in operator<<()
2015-01-25 15:54:40 -06:00
Christopher Dunn
4d649402b0
setIndentation()
2015-01-25 15:54:40 -06:00
Christopher Dunn
489707ff60
StreamWriter::Builder
2015-01-25 15:54:39 -06:00
Christopher Dunn
5fbfe3cdb9
StreamWriter
2015-01-25 15:54:39 -06:00
Christopher Dunn
964affd333
add back space before trailing comment
2015-01-25 15:49:02 -06:00
Christopher Dunn
74c2d82e19
proper newlines for comments
...
The logic is still messy, but it seems to work.
2015-01-25 15:05:09 -06:00
Christopher Dunn
1e3149ab75
rm trailing newlines for *all* comments
...
This will make it easier to fix newlines consistently.
2015-01-25 14:32:13 -06:00
datadiode
2f046b584d
Fix a border case which causes Value::CommentInfo::setComment() to crash
...
re: pull #140
2015-01-25 11:19:51 -06:00
Christopher Dunn
7d82b14726
fix issue #90
...
We are static-casting to U, so we really have no reason to use
references.
However, if this comes up again, try applying -ffloat-store to
the target executable, per
https://github.com/open-source-parsers/jsoncpp/issues/90
2015-01-24 14:34:54 -06:00
Christopher Dunn
2bc6137ada
fix gcc warnings
2015-01-24 13:42:37 -06:00
Christopher Dunn
216ecd3085
fix test_comment_00 for #103
2015-01-23 14:28:44 -06:00
Christopher Dunn
d383056fbb
avoid extra newlines in StyledStreamWriter
...
Add indented_ as a bitfield. (Verified that sizeof(StyledStreamWriter)
remains 96 for binary compatibility. But the new symbol requires a minor
version-bump.)
2015-01-23 14:23:31 -06:00
Christopher Dunn
3efc587fba
make StyledStreamWriter work more like StyledWriter
...
tests pass
2015-01-23 13:36:10 -06:00
Christopher Dunn
3682f60927
--json-writer arg
2015-01-23 13:36:10 -06:00
Christopher Dunn
58c31ac550
mv try-block
2015-01-23 12:35:12 -06:00
Christopher Dunn
08cfd02d8c
fix minor bugs in test-runner
2015-01-23 12:35:12 -06:00
Christopher Dunn
79211e1aeb
Options class for test
2015-01-23 12:35:12 -06:00
Christopher Dunn
632c9b5032
cleaner
2015-01-23 12:35:12 -06:00
Christopher Dunn
05810a7607
cleaner
2015-01-23 12:35:12 -06:00
Christopher Dunn
942e2c999a
unindent test-code
2015-01-23 12:35:12 -06:00
Christopher Dunn
2160c9a042
switch from StyledWriter to StyledStream writer in tests
2015-01-23 09:02:44 -06:00
Christopher Dunn
76746b09fc
deprecate old removeMember()
2015-01-22 19:25:44 -06:00
Connor Manning
00b8ce81db
Build without warnings with -pedantic enabled.
2015-01-22 10:48:45 -06:00
Christopher Dunn
59167d8627
more changes per cr
2015-01-21 16:05:08 -06:00
Christopher Dunn
05c1b8344d
drop this-> (team preference)
2015-01-21 15:43:48 -06:00