YantaoZhao
e32ee4717c
allow nullptr when not care the removed array value
2018-07-03 21:29:18 +08:00
pavel.pimenov
745287275c
"\n" -> '\n'
2018-06-24 18:51:10 -05:00
Kamel CHAOUCHE
ee34ac1fbb
Add position independent code feature to CMakeList.txt
...
Enable Position Independent Code for shared lib
2018-06-22 11:37:18 -05:00
pavel.pimenov
86789e7c2f
Fix #782
2018-06-05 10:17:36 +03:00
Marian Klymov
a5d7c714b1
Fix typo in previous fix.
2018-06-02 21:52:45 +03:00
Marian Klymov
84ca7d6f0b
Apply the formatting specified in .clang-format file.
2018-06-02 20:27:31 +03:00
Marian Klymov
fc20134c92
Fix different names for parameters in declaration and definition
2018-06-02 20:15:26 +03:00
Marian Klymov
091e03979d
Reduce scope of variable.
2018-06-02 19:48:10 +03:00
Marian Klymov
c8bb600d27
Pass string as a const reference.
2018-06-02 19:41:57 +03:00
Billy Donahue
b5e1fe89aa
Apply the formatting specified in .clang-format file.
...
$ clang-format --version
clang-format version 7.0.0 (tags/google/stable/2018-01-11)
$ clang-format -i --style=file $(find . -name '*.cpp' -o -name '*.h')
2018-05-20 18:38:42 -04:00
Billy Donahue
abd39e791b
json_tool missing include
2018-05-20 18:38:42 -04:00
Billy Donahue
aa1b383666
fix string construction
2018-05-13 18:28:05 -04:00
Billy Donahue
0ba5c435f4
Improvements in writing precision and json_tool.h helpers
2018-05-11 14:31:12 -04:00
fo40225
cf73619e28
refactoring cross compiler macro
2018-05-09 02:06:19 -05:00
binyangl
0a62267fe4
Disable warning "C4702" when compiling json cpp using vs2013 and above
2018-05-08 20:55:30 +08:00
fo40225
6e5e9be736
corss compiler isnan
2018-05-08 12:35:08 +08:00
fo40225
3f0d91f08a
fix ValueTest/specialFloats test failure when fp:fast on msvc
2018-05-05 14:38:53 +08:00
Mike R
a07fc53287
Add setting precision for json writers and also add decimal places precision type. ( #752 )
...
* Added setting precision for writers.
* Added special case for precise precision and global precision.
* Added good setting of type of precision and also added this type to BuiltStreamWriter and for its settings.
* Added some tests.
2018-03-13 15:35:31 -05:00
Christopher Dunn
3e2b8ea9cc
Minor changes for static analysis ( #749 )
...
re: #747
2018-03-03 12:51:17 -06:00
Thomas Jandecka
592d942b3b
fix: byte shift when interpreting 32-bit utf-8 codepoints
2018-02-14 14:23:58 +01:00
Maxim Ky
1ec85c76a4
Value::removeMember arg "removed" is optional now (could be nullptr)
2018-01-29 16:59:24 +03:00
Maxim Ky
c27936e0aa
Value::removeMember moves the existing value to "removed" now
2018-01-29 16:58:45 +03:00
Andrey Okoshkin
9b569c8ce3
Make Value copy constructor simplier
...
Helper private methods Value::dupPayload() and Value::dupMeta() are added.
Value copy constructor doesn't attempt to delete its data first.
* Value::dupPayload() duplicates a payload.
* Value::dupMeta() duplicates comments and an offset position with a limit.
2018-01-12 15:59:20 +03:00
Andrey Okoshkin
c69148c946
Fix Value::copyPayload() and Value::copy() ( #704 )
...
Value copy constructor shares the same code with Value::copy() and Value::copyPayload().
New Value::releasePayload() is used to free payload memory.
Fixes : #704
2018-01-12 14:33:47 +03:00
Christopher Dunn
63ab03ca28
replace code point in range(0xD800, 0xDFFF) to replacement mark ( #714 )
...
closes #712
2017-12-20 14:43:55 -06:00
Wolfram Rösler
9079422ac1
Allow Json::Value to be used in a boolean context ( #695 )
...
Must bump soversion too.
2017-12-05 11:18:55 -06:00
Remy Jette
42ca02b833
Fix sign mismatch in valueToString
...
`valueToString` takes an argument `unsigned int precision`, but it is used with `%d` rather than `%u` in the `snprintf` format string. Make the format string look for an unsigned value instead.
2017-12-04 17:49:36 -08:00
Josh Soref
e6a588a246
Spelling ( #703 )
2017-12-03 10:54:29 -06:00
Sascha Zelzer
7c979e8661
Suppress implicit-fallthrough warnings from GCC 7 ( #697 )
...
GCC 7, when compiling with -Wimplicit-fallthrough=1 or higher, issues a warning which can be suppressed using a comment that matches certain regular expressions. The comment change does just that: signal to GCC that the fall through is intentional.
Fixes #676
2017-11-16 13:13:55 -06:00
Christopher Dunn
d61cddedac
rm unused func
2017-10-29 23:45:01 -05:00
Wolfram Rösler
a06b390187
Un-deprecate removeMember overloads, return void ( #693 )
...
* Un-deprecate removeMember overloads, return void
Sometimes we just want to remove something we don't need anymore. Having
to supply a return buffer for the removeMember function to return something
we don't care about is a nuisance. There are removeMember overloads that
don't need a return buffer but they are deprecated. This commit un-deprecates
these overloads and modifies them to return nothing (void) instead of the
object that was removed.
Further discussion: https://github.com/open-source-parsers/jsoncpp/pull/689
WARNING: Changes the return type of the formerly deprecated removeMember
overloads from Value to void. May break existing client code.
* Minor stylistic fixes
Don't explicitly return a void value from a void function. Also, convert
size_t to unsigned in the CZString ctor to avoid a compiler warning.
2017-10-18 00:19:27 -05:00
Paweł Kierski
42a161fc80
Serialize UTF-8 string with Unicode escapes ( #687 )
...
Squashed and merged.
2017-10-03 18:19:20 -07:00
Christopher Dunn
a3a4059367
Use non-deprecated removeMember()
...
closes #683
2017-09-30 00:46:15 -05:00
Christopher Dunn
17c14e73a9
Use move ctor in append()
2017-09-15 18:55:50 -05:00
Christopher Dunn
c89f0282d1
Do not write to stderr
...
fixes #665
closes #666
2017-09-09 14:49:55 -05:00
Christopher Dunn
d830c0ab94
Fix writeCommentBeforeValue() iter deref
...
fixes #649
2017-08-28 08:43:05 -05:00
Christopher Dunn
6d31cec7cf
Drop scons support
2017-08-27 15:02:01 -05:00
Christopher Dunn
004270db37
Avoid memory error
...
But simply use `.assign()` instead of the extra copy. (See comment from
@BillyDonhue at #580.)
fixes #578
closes #580
2017-08-27 14:16:01 -05:00
Gaurav
9006194139
Fix uninitialized value detected by valgrind
...
Fix issue reported in https://github.com/open-source-parsers/jsoncpp/issues/578
For std::string variable, length() is more readable than size().
2017-08-27 14:16:01 -05:00
damiram
ef16a35328
Fixing warnings. Added JSONCPP_DEPRECATED definition for clang. Also updating .gitignore to ignore .DS_Store files (Mac OS Finder generated)
2017-08-02 22:44:42 -07:00
Александр Малинин
6a15ca6442
Fix non-rvalue Json::Value assignment operator (should copy, not move)
2017-07-31 15:29:02 +03:00
Devin Jeanpierre
59e4d35339
Restore BL's authorship attribution, and add "The Jsoncpp Authors" where it was missing.
...
Requested/noticed in https://github.com/open-source-parsers/jsoncpp/pull/610 , and a
followup to https://github.com/open-source-parsers/jsoncpp/pull/607 .
2017-07-21 03:44:36 -07:00
Christopher Dunn
f26edb05e5
Merge pull request #630 from jschueller/appveyor
...
Fix shared/static lib build conflict
resolves #631
2017-07-16 17:18:24 -05:00
pavel.pimenov
ea9f0cec30
strstr -> strchr
...
https://www.viva64.com/en/w/V817/print/
2017-07-13 14:21:53 +03:00
Julien Schueller
ffdcc9355d
Avoid import/static libs name clash
2017-07-13 09:03:35 +02:00
Dhruv Paranjape
0ba8bd73f5
add move assignment operator for CZString and change copy assignment to const reference.
2017-07-08 17:47:13 +05:30
Dhruv Paranjape
23c44d9f9e
overload append function for R value references.
2017-07-08 17:30:47 +05:30
Dhruv Paranjape
8996c377aa
add move assignment operator for Json::Value class.
2017-07-08 17:27:07 +05:30
Bernhard Hartleb
4a9d77bcf7
Fix issue #567 in writing real values in different locales
...
The output of snprintf might produce ',' separators for decimal places if
certain locales are set. This commit moves the converversion from ',' to '.'
to correct place. Otherwise an additional ".0" might be appended.
2017-06-22 22:46:16 +02:00
Sylvestre Ledru
7f9cc2705c
Allocate the proper memory for formatString. Fix a warning with gcc 7.1
...
/root/firefox-gcc-last/toolkit/components/jsoncpp/src/lib_json/json_writer.cpp:139:16: note: using the range [-2147483648, 2147483647] for directive argument
/root/firefox-gcc-last/toolkit/components/jsoncpp/src/lib_json/json_writer.cpp:146:10: note: 'sprintf' output between 5 and 15 bytes into a destination of size 6
sprintf(formatString, "%%.%dg", precision);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2017-06-09 22:41:48 +02:00
Anton Indrawan
2e319850d1
Fix QNX build: QNX defines sprintf under the std namespace. Use snprintf instead
2017-05-01 23:14:23 +02:00
pavel.pimenov
6ca374371e
Fix V815:Decreased performance
2017-04-07 15:41:07 +03:00
Alexander V. Brezgin
c442fd96e6
Optimize Value::isIntegral() method
...
Worst case called modf() twice
2017-03-29 06:37:37 +05:00
Gaurav
f251f15e6a
Fix crash issue due to NULL value.
...
Null value in Value constructor will crash strlen(). Avoid crash with JSON_ASSERT_MESSAGE
2017-01-17 17:28:43 +05:30
Christopher Dunn
11836ae9aa
std::min<unsigned>, for VS2015
...
fixes #565
2016-12-21 11:09:57 -06:00
David Seifert
f3a4941590
Replace current install variables with GNUInstallDirs
...
* The GNUInstallDirs module is more idiomatic and supported by
Kitware upstream, whereas the current directories are not
standardised across CMake-using packages. Using CMake native
mechanisms is better than reinventing the wheel, as it makes
using the build system more uniform across the ecosystem
* Use CMAKE_CXX_STANDARD to force C++11
* Require CMake 3.1.0 at a minimum
* Fixed lower/UPPERcase format for function/macro calls
* Fixed indents by replacing tabs with 4 spaces
2016-12-14 17:53:10 +01:00
Christopher Dunn
0d25d9aebf
Merge pull request #556 from Infotecs/nnkur-rec-fix
...
Removed a static variable used to contain the current recursion depth in json_reader.cpp
2016-12-09 10:47:17 -06:00
nnkur
5021e799dc
Renamed JSONCPP_STACK_LIMIT to JSONCPP_DEPRECATED_STACK_LIMIT
...
Renamed JSONCPP_STACK_LIMIT to JSONCPP_DEPRECATED_STACK_LIMIT to stress that usage of this macros assumes old interface.
2016-12-07 15:47:08 +03:00
nnkur
2ecd2a59de
Add files via upload
...
Removed a static variable used to contain the current recursion depth of Reader::readValue(). The number of elements in an internal container Reader::nodes_ is used instead. It is correct because any recursive call of Reader::readValue() is executed with adjacent nodes_.push() and nodes_.pop() calls.
Added the option to change the allowed recursion depth at compile time by defining a macro JSONCPP_STACK_LIMIT as the required integer value.
2016-11-30 18:30:12 +03:00
Alexander V. Brezgin
ee7935986e
Optimize value check
2016-11-20 03:55:08 +03:00
Alexander V. Brezgin
b4abc8241f
Optimize value range check
2016-11-20 03:50:32 +03:00
Alexander V. Brezgin
12e9ef32f9
Remove repeated condition
...
isDouble() contains isIntegral()
2016-11-20 03:28:15 +03:00
Christopher Dunn
77632b2611
Merge pull request #549 from jia3ep/master
...
Added stack overflow test
2016-11-09 14:28:13 -06:00
Christopher Dunn
34fc0020c0
Merge pull request #552 from omki2005/noexcept
...
change throw() to noexcept to conform to c++11
2016-11-08 07:21:56 -06:00
Christopher Dunn
f880a9432d
Merge pull request #551 from suttungdigital/detect_locale_support
...
Check for locale support in CMake
2016-11-08 07:19:51 -06:00
Magnus Bjerke Vik
5a82131033
Rename NO_LOCALE_SUPPORT to JSONCPP_NO_LOCALE_SUPPORT
2016-11-08 09:47:27 +01:00
Magnus Bjerke Vik
1839f2da34
Check for locale support in CMake
2016-11-08 09:47:27 +01:00
Omkar Wagh
91c1d23461
change throw() to noexcept to conform to c++11
2016-11-07 17:39:38 -05:00
Kirill V. Lyadvinsky
86f085b810
Make it a bit more multithreading friendly
2016-11-03 22:45:36 +03:00
Brendan Drew
89ab7eca7f
Ensure that the fact that a float was provided on input is preserved when writing output; update tests to reflect this fact
2016-10-27 04:49:11 -07:00
Paweł Bylica
1572539bec
Rename variable empty to emptyString
...
Rename variable empty to emptyString in Value constructor to avoid shadowing of Value::empty().
GCC 4.8 produces the warning about this:
lib_json/json_value.cpp: In constructor ‘Json::Value::Value(Json::ValueType)’:
lib_json/json_value.cpp:346:27: warning: declaration of ‘empty’ shadows a member of 'this' [-Wshadow]
2016-10-14 11:59:28 +02:00
Christopher Dunn
92259f7147
Bump SOVERSION, separate from MAJOR.MINOR.MICRO
2016-10-02 11:29:12 -05:00
Christopher Dunn
4893a8f667
Merge pull request #535 from kavika13/master
...
Add RPATH to dynamic library build on OSX
fixes #534
But we will revert if there are any complaints.
2016-09-25 18:58:14 -05:00
Gergely Nagy
f6d785fda8
Fix poss SEGV
...
for non-null terminated input.
2016-09-25 18:45:04 -05:00
Merlyn Morgan-Graham
8d54e333ff
Add RPATH to dynamic library build on OSX
2016-09-22 22:06:25 -07:00
Christopher Dunn
b063cf4ada
Merge pull request #529 from chrox802/chrox802-patch-1
...
fix a bug about Json::Path
2016-09-07 21:57:56 -05:00
chason
2f97c0147b
fix a bug about Json::Path
2016-09-07 19:56:19 +08:00
Alexander Gazarov
52cfe5ae88
Replaced the template-based solution for avoiding calls to localeconv() with a macro-based one ( fixes #527 )
2016-09-06 14:41:13 +03:00
Gida Pataki
894e78bff1
Workaround for missing lconv::decimal_point on android
2016-08-26 23:30:18 +02:00
Christopher Dunn
126bdc2b05
Reject extra chars if strictRoot
...
resolves #511
2016-08-21 20:32:16 -05:00
Christopher Dunn
094a7d8564
Fix locale for decimal points
...
resolves #514
2016-08-21 20:13:58 -05:00
Christopher Dunn
80a82ea269
Optional space after comma
...
resolves #513
2016-08-21 16:35:19 -05:00
Christopher Dunn
f78f685bab
Remove needless if.
...
resolves #516
2016-08-21 16:31:14 -05:00
Christopher Dunn
7e0571b444
Avoid null for stringValue
...
fixes #517
2016-08-21 16:25:29 -05:00
Christopher Dunn
b299d3581f
Allow dtor for nullSingleton
...
re #488 and #490
2016-07-20 11:31:41 -07:00
Christopher Dunn
0f288aecdd
Use a Myers Singleton for null
...
Avoid some static initialization problems.
From @marklakata
See #488
2016-06-26 19:36:40 -05:00
Christopher Dunn
e0f9aab0bf
Make internal func anon
...
fixes #489
2016-06-26 17:54:15 -05:00
Christopher Dunn
ea4af18317
Fix int->char conv warn
...
resolves #473
2016-05-15 23:13:56 -05:00
Cristóvão B da Cruz e Silva
c8a7b445ea
Small fix for strict compilers (using the flag -Werror for instance)
2016-03-26 18:41:46 +00:00
Christopher Dunn
ef2ff8754a
Fix a clang warning
...
Resolves #451 .
2016-03-23 22:33:18 -05:00
Christopher Dunn
98e981dff9
Use macro for override
...
b/c MS VS2010 is supposed to be C++11 but does not fulfull
the entire standard.
Resolves #410 .
Re: #430 .
2016-03-21 21:00:24 -05:00
dawesc
ae564653c4
-DJSONCPP_USE_SECURE_MEMORY=1 for cmake
...
Add allocator.h to amalgamated header
Test JSONCPP_USE_SECURE_MEMORY in Travis
2016-03-19 19:21:15 -05:00
Gaurav
0b597b4b48
Added NORETURN for throw functions.
...
Fix in definition also.
2016-03-16 11:17:21 +05:30
Gaurav
cf86c473a5
Supporting GCC 6.0
...
This patch is also needed to build success for GCC 6.0.
Refer issue - https://github.com/open-source-parsers/jsoncpp/issues/411
2016-03-15 18:31:44 +05:30
Christopher Dawes
75570d7068
Fixing up for #define instead of typedef in secure allocators
2016-03-14 19:15:17 -05:00
Christopher Dunn
5da29e2707
Another shot at #411
2016-03-14 18:35:53 -05:00
Christopher Dunn
b84e0c159d
JSONCPP_ISTREAM
2016-03-06 11:56:39 -06:00
Christopher Dunn
1e990640a9
JSONCPP_ISTRINGSTREAM
2016-03-06 11:56:39 -06:00
Christopher Dunn
38bb491400
JSONCPP_OSTRINGSTREAM
2016-03-06 11:56:38 -06:00
Christopher Dunn
724ba29bd3
JSONCPP_OSTREAM
2016-03-06 11:56:38 -06:00