dominicpezzuto
54764dd85b
Fix build issues related to Solaris and older GCC
...
Fixed two build issues:
- JsonCPP currently doesn’t compile for Solaris due to platform
differences with ‘isfinite’ function. Fixed by adding proper include
and define for Solaris.
- JsonCPP currently doesn’t compile for GCC version 4.1.2 and earlier
due to use of ‘-Werror=*’ compile flag, which was introduced in a later
version. Fixed by adding version check to only add this flag on
supported versions of GCC.
2014-12-27 16:44:26 -05:00
Christopher Dunn
8dd32e1e2e
Merge pull request #94 from Gachapen/cmake_target_include
...
CMake: Add include directory to jsoncpp_lib target
Well-researched. Passes Travis CI.
2014-12-24 01:30:13 -06:00
Magnus Bjerke Vik
3fd7f8b470
CMake: Only add include directory to jsoncpp_lib target if CMake version supports the command.
2014-12-16 08:58:52 +01:00
Magnus Bjerke Vik
e99e6d9cc6
CMake: Add include directory to jsoncpp_lib target so that it can be easier used with other projects.
2014-12-03 15:42:41 +01:00
Rémi Verschelde
27639ce578
Add support for BUILD_SHARED_LIBS argument
...
BUILD_SHARED_LIBS is a standard CMake argument that serves the purpose
of the custom JSONCPP_LIB_BUILD_SHARED. For now we force JSONCPP_LIB_BUILD_SHARED
to true if BUILD_SHARED_LIBS was defined.
Workaround for #51 .
2014-12-01 23:47:21 +01:00
xiaoyur347
83683da13f
fix gcc warning when CXXFLAGS contains '-Wextra'
...
json_value.cpp:179:26: warning: enumeral and non-enumeral type in conditional expression [enabled by default]
https://github.com/open-source-parsers/jsoncpp/pull/84
2014-11-19 23:59:34 -06:00
Gaurav
767713be2b
Remove gcc compilation warning in json_reader.cpp
...
Submitting Patch for Issue : https://github.com/open-source-parsers/jsoncpp/issues/77
It will fix warnings in json_reader.cpp
2014-11-17 14:04:03 +05:30
Gaurav
abc1e07543
Prefer appending character constants over string literals - correct patch.
...
Submitting correct patch for https://github.com/open-source-parsers/jsoncpp/issues/61
2014-11-13 12:47:19 +05:30
Billy Donahue
8eb5d89db6
Remove initInt and initUInt until they are needed.
2014-11-10 01:35:42 -05:00
Yu Xiaolei
dc84d96a49
Add CMake package file generation support
2014-11-05 12:31:44 +08:00
Yu Xiaolei
1c3a20de50
Allow customization of component install dirs
2014-11-05 11:25:53 +08:00
Mara Kim
b84a39cae5
Add public semantic error reporting
...
Closes open-source-parsers/jsoncpp#57
2014-10-23 02:18:14 -05:00
Cory Quammen
fd06bfca79
Removed unneeded newlines from parsed comments
...
Newlines from comments separated by lines are retained when comments
are appended, so adding a newline between separate comments for a
node is not needed.
2014-10-09 16:33:29 -04:00
Cory Quammen
4d23492d11
Added printing of comments to *.actual test files
...
This enables testing of comment-handling code. Updated *.expected test
result files to account for printing of comments.
2014-10-09 16:33:29 -04:00
Chuck Atkins
9dc9026e0b
Workaround for missing C99 functions in older versions of Visual Studio
2014-09-19 13:16:09 -04:00
Christopher Dunn
4002f8a4be
Revert "Revert "Removed vim mode lines.""
...
This reverts commit af77b5b59456f6a9c7a9c6a5464001ef5665f897.
See discussion at
32009b17e4 (commitcomment-7827708)
2014-09-18 16:46:40 -07:00
Christopher Dunn
0375af2eb5
drop version qualifier
...
This should help keep version.h stable.
x.y.z-dev
=> major, minor, patch, qual
== x, y, z, -dev
But we do not need -dev anymore.
2014-09-18 16:43:07 -07:00
Aaron Jacobs
ba330893d7
Ran clang-format again, this time hitting .inl files too.
...
clang-format -i $(find . -name '*.h' -or -name '*.cpp' -or -name '*.inl')
2014-09-18 16:33:49 -07:00
Christopher Dunn
877dd17206
bump version; proper SOVERSION
2014-09-16 12:42:33 -07:00
Christopher Dunn
16709c6ee8
JSONCPP_VERSION, not JSON_CPP_VERSION
2014-09-16 12:42:33 -07:00
Christopher Dunn
9aa4681052
Revert "Merge branch 'no-version'"
...
This reverts commit d9ced92d4040ee6c1475e96e18d715f99647e668, reversing
changes made to d2fa664a12b478b3fd21f7659f3674c8520bf43b.
Conflicts:
include/json/version.h (keep)
2014-09-16 12:42:32 -07:00
Christopher Dunn
af77b5b594
Revert "Removed vim mode lines."
...
This reverts commit 32009b17e4d35a812575cfcf6bae9ec49fc67446.
2014-09-16 12:42:32 -07:00
Aaron Jacobs
11086dd6a7
Enabled PointerBindsToType in clang-format options.
2014-09-15 10:15:29 +10:00
Aaron Jacobs
30b07c0275
Ran clang-format over all .h and .cpp files.
...
clang-format -i $(find . -name '*.h' -or -name '*.cpp')
2014-09-15 10:14:48 +10:00
Aaron Jacobs
32009b17e4
Removed vim mode lines.
...
Users can set their own preferences in their personal vimrc.
2014-09-15 08:23:41 +10:00
Christopher Dunn
8f730b8a60
stop using version.h.in for cmake
2014-09-11 10:09:48 -07:00
Billy Donahue
45cd9490cd
Switch to copy-and-swap idiom for operator=.
...
This allows the compiler to elide a copy when rhs is a temporary.
2014-09-10 10:37:34 -07:00
Christopher Dunn
236db83742
ws
2014-09-10 10:35:01 -07:00
Christopher Dunn
9d694516a0
clarify return value
2014-09-03 13:54:49 -07:00
Christopher Dunn
d94caac1ea
ws
2014-09-03 13:46:37 -07:00
mloy
8eb6f88a87
snprintf does return a signed integer
...
assert if returned value is neagtive
2014-09-03 13:37:17 -07:00
Matthias Loy
64d591b720
snprintf already calculated the length
2014-09-03 13:37:17 -07:00
Matthias Loy
fe2cd01e80
free does nothing if parameter equals NULL
2014-09-03 13:37:17 -07:00
Don Milham
5bf16105b5
added option to FastWriter which omits the trailing new line character
2014-09-02 17:09:07 -06:00
Matthias Loy
48d9a92a1b
do intermediate step in order to omit "dereferencing type-punned pointer" error
2014-08-13 13:20:29 +02:00
Matthias Loy
f97723dbb7
provoke compile error:
...
"dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]"
2014-08-13 13:19:02 +02:00
David West
bc5dbc6d41
Patch for bug #53 on version 0.5.0
...
This is a patch that we have utilized at IDEXX Labs for the the bug described above.
We have tested and verified this on x86 32 and 64 bit linux and 32 bit arm.
2014-08-13 02:03:33 -07:00
Egor Tensin
81d16dfda1
Fixed deprecated target file path location
2014-08-13 02:02:53 -07:00
Chris Gilling
97c77b4a86
add tests to check that exceptions are thrown for wrong types
...
* Add JSONTEST_ASSERT_THROWS macro to test if an expression
throws an exceptions.
* add JSONTEST_FIXTURE(ValueTest, typeChecksThrowExceptions)
2014-08-13 02:00:41 -07:00
pffang
27e3263894
WinCE Compatibility Fix
...
Note: str.imbue and std::locale::classic() are not supported on WINCE
2014-07-10 20:27:52 -07:00
Christopher Dunn
8582876c5c
vim modelines
2014-07-10 20:24:23 -07:00
Christopher Dunn
496c655523
fix numeric locale
...
In some locales (e.g. de_DE) floats have commas instead of
dots, but JSON requires dots.
See:
https://github.com/open-source-parsers/jsoncpp/pull/9
https://github.com/open-source-parsers/jsoncpp/pull/3
2014-07-10 20:24:23 -07:00
Christopher Dunn
49c732607b
Revert "Merge pull request #7 from steffen-kiess/fix-locale"
...
This reverts commit 0db9d6ea013792b010c598c2a9a3a9e39a2decd9, reversing
changes made to 06dcb1fc8922991919887e229fdd741bccde0dfa.
For discussion, see
https://github.com/open-source-parsers/jsoncpp/pull/9
https://github.com/open-source-parsers/jsoncpp/pull/3
2014-07-10 19:59:26 -07:00
Steffen Kieß
b8aaa03367
Use std::stringstream instead of snprintf() for double->string conversion
...
`snprintf()` will use the current `LC_NUMERIC` locale
for converting a double to a string,
which will use a `,` instead of a `.` in some locales (e.g. de_DE).
`std::stringstream` allows setting the locale to `"C"` to always get a `.`.
This occurs only for that `stringstream` instance; no global is
altered.
2014-07-09 11:46:00 -07:00
renu555
41b79398a3
Always true condition.
...
for (int index = 0; index < size && !isMultiLine; ++index)
In addition to dead code, in the above if condition checking to !isMultiLine is of no use as it will be always true and hence "for" depends only on condition [index < size.]
The mentioned test case works fine in this case also.
2014-07-05 19:05:41 -07:00
renu555
66b77384d8
Fix dead code scenario.
...
Changes explained
2014-07-05 19:05:41 -07:00
renu555
17c244e644
Fixing unreachable condition.
...
if (!isMultiLine) at line 563 suggests that isMultiline is 0 when if takes true branch. So the condition && at line 571 will always be false.
Also at line 568 !isMultiline in loop conditional check suggests that it depends only on one condition i.e. index <size because !isMultiline is always true.
Hence , it seems logical mistake at line 571 of using && instead of ||
2014-07-05 19:05:41 -07:00
Christopher Dunn
28836b8acc
fix bug for static init
...
Ugh! Static initialization of instance variables is a very bad idea.
This fix is taken from the Chromium code-base. It includes their
double-fix for ARM.
* https://codereview.chromium.org/24984004
* https://src.chromium.org/viewvc/chrome?revision=226099&view=revision
* https://code.google.com/p/webrtc/issues/detail?id=1777
2014-07-05 17:36:20 -07:00
Aaron Jacobs
3a0c4fcc82
Ran clang-format again.
2014-07-01 09:20:48 +10:00
Aaron Jacobs
445328ace6
Fixed some clang-format weirdness.
2014-07-01 09:15:11 +10:00
Aaron Jacobs
9fa4e849a1
Ran clang-format over all .h and .cpp files.
...
clang-format -i $(find . -name '*.h' -or -name '*.cpp')
2014-07-01 08:48:54 +10:00
Christopher Dunn
6764059395
fix stdexcept
...
https://sourceforge.net/p/jsoncpp/bugs/68/
2014-05-13 09:49:25 +00:00
Aaron Jacobs
5d32295a6e
Fixed a test that causes a crash when exceptions are disabled.
...
While I was at it, corrected whitespace too.
2014-04-23 23:57:59 +00:00
Aaron Jacobs
68db655347
Added structured error reporting to Reader.
...
This allows applications for interactively viewing or editing JSON to do
a better job of highlighting errors. Also added offset accessors to
Value, offering the same sort of functionality even for non-errors.
Thanks to Zach Clifford (zacharyc@google.com ) for the patch.
2014-04-23 23:41:12 +00:00
Aaron Jacobs
642befc836
Added features that allow the reader to accept common non-standard JSON.
...
This is a version of patch #17 , from Clay Wood:
http://sourceforge.net/p/jsoncpp/patches/17/
2014-04-23 23:28:23 +00:00
Christopher Dunn
77cd83890d
vim modeline
...
http://vim.wikia.com/wiki/Modeline_magic
2014-04-19 21:41:03 +00:00
Christopher Dunn
09439b7bc7
Comment reading/write improvements
...
This patch fixes some aspects of reading and writing comments:
- Multiple C++-style comments before a Json value had extra newlines appended to them. This patch removes the addition of those newlines.
- Comments written before Json values in the StyledWriter were not indented to match the indentation level of the value. This patch adds indentation to comments.
- Fixed inconsistency in newlines following C- and C++-style comments being saved as part of the comment. All newlines at the end of a comment are now removed.
- Added an additional test of comments.
https://sourceforge.net/p/jsoncpp/patches/25/
2014-04-19 21:19:24 +00:00
Christopher Dunn
ea0797351f
JSON_ASSERT -> JSON_ASSERT_MESSAGE
...
This way, assertions can produce exceptions.
https://sourceforge.net/p/jsoncpp/bugs/67/
2014-04-19 06:37:23 +00:00
Aaron Jacobs
94d17e9fdf
Added missing includes for std::istream.
...
Thanks to Quentin Fiard for the report.
2014-01-29 00:13:38 +00:00
Baptiste Lepilleur
a3f19c23a0
Fixed broken build on VS 2012
2013-09-23 14:10:39 +00:00
Aaron Jacobs
d2618806ba
Fixed some snprintf-related build breakages in Visual Studio.
2013-08-08 23:08:28 +00:00
Aaron Jacobs
36400ac0c1
Updated two calls to sprintf that I missed in r269.
2013-08-08 00:39:32 +00:00
Aaron Jacobs
32ffb931e7
Replaced the complex implementation of valueToString(double).
...
The previous one was confusing and prone to buffer overflows, and didn't
work correctly with 16-decimal-digit numbers. The new one simply uses
snprintf with a standard format string.
The major change is that we don't always print a decimal point now.
Fortunately, JSON doesn't distinguish between integers and reals.
2013-08-08 00:39:12 +00:00
Aaron Jacobs
bb53cd0899
Added more floating point tests.
...
The first demonstrates a bug that I will soon fix.
2013-08-08 00:37:39 +00:00
Aaron Jacobs
4c531bb584
Added further floating point tests.
2013-08-08 00:13:10 +00:00
Aaron Jacobs
42d918b7aa
Switched away from sprintf, which is prone to buffer overflows.
...
Most reasonable platforms have this function. If you're here because
this broke the build for you, consider adding an ifdef for your platform
and using sprintf there (but not on other platforms).
2013-08-06 23:12:56 +00:00
Baptiste Lepilleur
700b38020e
- CMake: added option to turn fail compilation if warning occurs, and warning level 4 with MSVC.
...
- Fixed some warnings
2013-05-09 18:42:33 +00:00
Baptiste Lepilleur
58b6541478
Added missing source file to CMakeLists.txt.
2013-05-09 15:21:06 +00:00
Baptiste Lepilleur
eafd702a17
- New CMake based build system. Based in part on contribution from
...
Igor Okulist and Damien Buhl (Patch #14 ). Added support for running
tests and building with DLL on Windows.
- added missing JSON_API
- Visual Studio DLL: suppressed warning "C4251: <data member>: <type>
needs to have dll-interface to be used by..." via pragma push/pop
in json-cpp headers.
- New header json/version.h now contains version number macros
(JSONCPP_VERSION_MAJOR, JSONCPP_VERSION_MINOR, JSONCPP_VERSION_PATCH
and JSONCPP_VERSION_HEXA). While this header is generated by CMake,
it is committed to ease build with alternate build system
(CMake only update the file when it changes avoid issues with VCS).
2013-05-08 20:21:11 +00:00
Baptiste Lepilleur
f92ace5e82
Patch #3600941 : Missing field copy in Json::Value::iterator causing infinite loop when using experimental internal map (#define JSON_VALUE_USE_INTERNAL_MAP) (contributed by Ming-Lin Kao).
2013-04-12 13:26:23 +00:00
Baptiste Lepilleur
3f124172ce
Patch #3539678 : Copy constructor does not initialize allocated_ for stringValue (contributed by rmongia).
2013-04-12 13:11:14 +00:00
Baptiste Lepilleur
f8715856f3
Fix gcc -Wall warnings (patch from Matt McCormick)
2013-02-18 15:53:47 +00:00
Baptiste Lepilleur
42321f24a6
Fixed warning(error?) on #if testing value of _MSC_VER without checking that it was defined.
2012-12-20 10:08:50 +00:00
Aaron Jacobs
ae3c7a7aab
Made it possible to drop null placeholders from array output.
...
This can be used when it's clear that the consumer is able to deal with
this, as web browsers are. Thanks to Yatin Chawathe for the patch.
2012-03-12 04:53:57 +00:00
Aaron Jacobs
2b853c4067
Got rid of several unnecessary includes of <iostream>.
...
Including <iostream> causes the file to be polluted with a static
initializer for the __ioinit symbol. This can harm binary startup time.
For more info, see here:
http://neugierig.org/software/chromium/notes/2011/08/static-initializers.html
2011-12-22 03:18:24 +00:00
Christopher Dunn
3b3540d9ef
bug#2407932: strpbrk() could fail for NULL pointer.
2011-06-22 21:04:41 +00:00
Christopher Dunn
9d317c3794
bug#3306345: minor typo in Path::resolve() -- missing bang.
2011-06-22 08:30:21 +00:00
Christopher Dunn
c9f91dd929
More missing constructor initializers found by Coverity.
2011-06-21 23:02:06 +00:00
Christopher Dunn
2ba3bc3252
Another simple addition for constructor initialization, PathArgument.
2011-06-21 22:08:49 +00:00
Christopher Dunn
ac5df77bbc
Simple changes to Reader initialization, from Chromium folks. (I do not think this was submitted as a bug.)
2011-06-21 21:56:54 +00:00
Baptiste Lepilleur
d496e044b1
Fixed unit tests execution on MSVC 6 by removing usage of std::numeric_limits. It was returning 0 value in some max cases. Fixed Value::asFloat() to use integerToDouble().
2011-05-27 08:12:41 +00:00
Baptiste Lepilleur
f587e6a420
Fixed compilation issues with MSVC 6: replace usage of ostringstream with valueToString to support 64 bits integer and high precision floating point conversion to string. Replace usage of ULL and LL literal with UInt64(expr) and Int64(expr). Introduced helper function uint64ToDouble() to work-around missing conversion. Unit tests do not pass yet.
2011-05-26 22:55:24 +00:00
Baptiste Lepilleur
f0b24e705f
Fixed MSVS 2003, 2005 and 2008 tests execution by normalizing floating-point string representation using helper normalizeFloatingPointStr().
2011-05-26 20:14:32 +00:00
Baptiste Lepilleur
e807a7640e
Fixed unit test failure on IBM AIX xlC by hard-coding the maxUInt64AsDouble as double constant instead of relying on double(Value::maxUInt64) which produces an incorrect value.
2011-05-26 17:14:26 +00:00
Baptiste Lepilleur
d3cd9a7fc5
- Fixed unit test compilation on MSVS 2003, 2005 and 2008.
...
- Worked-around unit test failure with MSVS* by "forcing" all floating-point numbers to be loaded from memory instead of FPU registers.
2011-05-26 07:32:36 +00:00
Aaron Jacobs
a2fb7fb918
Fixed some test bugs that show up when 64-bit mode is disabled.
2011-05-26 06:58:52 +00:00
Aaron Jacobs
c649badb95
Another round of attempting to fix VC++ errors...
2011-05-26 03:44:02 +00:00
Aaron Jacobs
a9eb1eccc0
Fixed more default cases.
2011-05-26 03:32:11 +00:00
Aaron Jacobs
6ffff91c54
Got rid of some unreachable code.
2011-05-26 03:27:44 +00:00
Aaron Jacobs
acdefb0869
Fixed a double -> float compilation warning/error.
2011-05-26 03:04:01 +00:00
Aaron Jacobs
c025697ea5
Reworked the type conversion system again, so that:A
...
* isFoo methods determine exact representability.
* asFoo methods cause casting when safe.
* isConvertibleTo indicates whether casting is safe.
See NEWS.txt for details.
2011-05-26 02:46:28 +00:00
Aaron Jacobs
b0ec41c3e3
Made the unit test's output more readable, adding to jsontest's
...
capabilities (and simplifying its implementation) in the process.
2011-05-26 00:30:39 +00:00
Aaron Jacobs
2a2b5cf3ad
Made jsontest work with 64-bit integers, and fixed an error.
2011-05-26 00:12:48 +00:00
Aaron Jacobs
b6620e2801
Removed some out of date TODOs.
2011-05-25 23:26:58 +00:00
Aaron Jacobs
ccde848fd1
Fixed test failures with 64-bit support disabled.
2011-05-25 05:53:59 +00:00
Aaron Jacobs
e082248001
Fixed a 'comparison between signed and unsigned' error.
2011-05-25 05:50:13 +00:00
Aaron Jacobs
e91a68cb9e
Fixed a compilation warning/error.
2011-05-25 04:34:57 +00:00
Aaron Jacobs
1b138e8544
Gave a more consistent behavior to the Value::isFoo methods. See
...
NEWS.txt for more details.
2011-05-25 04:19:17 +00:00
Aaron Jacobs
4f081b50e6
Fixed bugs in asInt64 and asUInt64.
2011-05-25 03:16:49 +00:00
Aaron Jacobs
3c9fdeb859
Added tests for default numeric values.
2011-05-25 02:54:11 +00:00