39 Commits

Author SHA1 Message Date
Milo Yip
e3e8fea0f3 Remove stack size limit feature
It is not very useful for iterative parsing as the worst case of heap
size is O(n) where n is number of character in JSON, for the worst
synthetic cases. This is reasonable and should not create stack overflow
security problem as in recursive parsing.
2014-07-26 21:40:11 +08:00
thebusytypist
140dc0664e Fix compilation error(signed/unsigned comparison). 2014-07-18 01:08:07 +08:00
thebusytypist
afa59455a5 Fix compilation error(unused variable, signed/unsigned comparison). 2014-07-18 00:36:31 +08:00
thebusytypist
c3d7d8b38a Revise unittests: should not expose implementation details. 2014-07-16 23:10:16 +08:00
thebusytypist
1f53c6c041 Implement stack size limitation for iterative parsing. 2014-07-15 14:16:06 +08:00
thebusytypist
46e89dad0d Add unittests for kParserErrorTermination; Fix bugs in last merge. 2014-07-15 00:51:34 +08:00
thebusytypist
d4da07c5fb Merge upstream/master. 2014-07-14 23:49:57 +08:00
thebusytypist
face7240fe Revise unittests of compound value(array or object)'s initial state transition. 2014-07-11 16:33:32 +08:00
thebusytypist
3038a7855e Revise unittests: reset the handler before the transition which we are going to test. 2014-07-11 16:03:38 +08:00
thebusytypist
36434b66c8 Merge remote-tracking branch 'upstream/master' into TransitionTable 2014-07-11 12:52:07 +08:00
thebusytypist
70d01cc5f3 Complete unittests for state transition. 2014-07-11 11:43:09 +08:00
Milo Yip
f1ae39f9e2 Fixed readertest compilation error 2014-07-11 00:37:55 +08:00
thebusytypist
e3c4b33915 Add unittests for state transition. 2014-07-10 22:27:25 +08:00
Milo Yip
cc04219e36 Fixes #59 by adding bool return value for each event handler function 2014-07-10 19:33:01 +08:00
thebusytypist
f6235b2160 Add basic error handling. 2014-07-10 00:00:56 +08:00
Philipp A. Hartmann
813da24d72 Add RAPIDJSON_DIAG_* macros to handle compiler warnings
Warning push/pop support has been added to GCC in version 4.6.0,
and pragmas to ignore certain warnings are present since 4.2.0.
This patch hides the compiler-specific warning push/pop/disable
pragmas behind a macro-based implementation (currently for MSVC and
clang /GCC.

This avoids warnings, as seen e.g. on GCC 4.4:
  ../../include/rapidjson/document.h:14: error: expected [error|warning|ignored] after ‘#pragma GCC diagnostic’
and earlier versions complaining about unknown pragmas being ignored.

Note: unittest.h and perftest.h need to check for compilers
explicitly, as rapidjson.h is not included there.
2014-07-08 14:45:19 +02:00
thebusytypist
6b0df217a8 WIP: refactor iterative parsing. 2014-07-08 02:19:35 +08:00
thebusytypist
7d33b01515 Bugfix: add missing transition from finish state. 2014-07-07 21:57:23 +08:00
thebusytypist
7acb0c181e Rename flags/state names/functions/test cases from 'NonRecursive' to 'Iterative'. 2014-07-07 21:46:57 +08:00
thebusytypist
3006fa7d8c Try to resolve issue #35: implement iterative parsing. 2014-07-06 21:15:38 +08:00
Milo Yip
0bff4ffd0c Adds unit tests about streams. 2014-07-04 16:39:09 +08:00
Philipp A. Hartmann
6b7f346437 ParseErrorCode: fix typo (NumberTooBig) 2014-07-03 17:06:35 +02:00
Milo Yip
1e99f0b537 Merge remote-tracking branch 'origin/master' into warning 2014-07-03 01:00:01 +08:00
Milo Yip
5a186104f4 Fixes warnings 2014-07-03 00:59:35 +08:00
Milo Yip
9aec8d6ad4 Fixes local copy optimization
The previous optimization #32 has problem that restoration requires
assignment operator.
Change the backup/restore process using a template wrapper class to
select code path.
2014-07-02 23:49:47 +08:00
Milo Yip
4843b790c0 Remove debug code 2014-06-30 21:28:57 +08:00
Milo Yip
10924e389c Fixes parsing small floating point values underflow
https://code.google.com/p/rapidjson/issues/detail?id=75

The modification is slightly different from dlbattle123 to improve
speed.
2014-06-30 21:26:43 +08:00
miloyip
389fe87cd8 Merge branch 'master' into issue23errorcode
Conflicts:
	example/condense/condense.cpp
	include/rapidjson/reader.h
	test/unittest/readertest.cpp
2014-06-30 09:44:24 +08:00
Milo Yip
789761ae1b Fixes compilation error
‘>>’ should be ‘> >’ within a nested template argument list
2014-06-29 21:18:31 +08:00
Milo Yip
bcf7cee788 Add stream copying optimization switch depending stream type.
An unit test is added
2014-06-29 20:59:01 +08:00
Milo Yip
69ca7487bc Manually merge the segfault fix from main branch and fix several unit tests about error code 2014-06-27 22:27:18 +08:00
Milo Yip
bb889b6ab6 Verify all error codes in unit tests of parsing. 2014-06-27 16:19:04 +08:00
Milo Yip
1eb62770d3 Fixed gcc 4.8.x warnings. 2014-06-25 00:04:24 +08:00
Milo Yip
4bf350c5f9 Added a unit test for SkipWhitespace() 2014-06-24 23:04:27 +08:00
miloyip@gmail.com
9c68ce986e Fixed a lots of vc2008/vs2010 and gcc3/4 warnings with the maximum warning level.
git-svn-id: https://rapidjson.googlecode.com/svn/trunk@67 c5894555-1306-4e8d-425f-1f6f381ee07c
2012-11-13 08:02:22 +00:00
miloyip@gmail.com
a8d631fbc2 Added Transcoder for converting Encoding during parsing.
git-svn-id: https://rapidjson.googlecode.com/svn/trunk@39 c5894555-1306-4e8d-425f-1f6f381ee07c
2011-11-28 09:30:32 +00:00
miloyip@gmail.com
77ce51209f Added test cases for UTF8 validation. Fixed a bug in validation.
git-svn-id: https://rapidjson.googlecode.com/svn/trunk@33 c5894555-1306-4e8d-425f-1f6f381ee07c
2011-11-23 16:13:32 +00:00
miloyip@gmail.com
f198c486ee Added encoding validation feature
git-svn-id: https://rapidjson.googlecode.com/svn/trunk@30 c5894555-1306-4e8d-425f-1f6f381ee07c
2011-11-22 19:29:43 +00:00
miloyip@gmail.com
8f8e905306 Initial version (0.1)
git-svn-id: https://rapidjson.googlecode.com/svn/trunk@2 c5894555-1306-4e8d-425f-1f6f381ee07c
2011-11-18 17:01:23 +00:00