Ramiro Polla
38a112380b
json_object: cleanup of *set_string* functions
This commit also has the side-effect that errno is set on failed calls
to json_object_set_string(_len).
6 years ago
Ramiro Polla
906188e1cf
json_object: speed up creation of objects
Instead of using calloc(), call malloc() and initialize the relevant
fields individually.
speedup for 32-bit: ~15%
speedup for 64-bit: ~ 5%
6 years ago
Ramiro Polla
c9a0ac5886
json_tokener: optimize parsing of integer values
speedup for 32-bit: ~8%
speedup for 64-bit: ~9%
6 years ago
Ramiro Polla
d98fc501fb
json_tokener: optimize check for number characters
speedup for 32-bit: ~5%
speedup for 64-bit: ~3%
6 years ago
Ramiro Polla
45c601bfa4
json_tokener: optimize check for hex characters
speedup for 32-bit: ~1%
speedup for 64-bit: ~1%
6 years ago
Ramiro Polla
158c248d5c
json_tokener: optimize check for whitespace characters
speedup for 32-bit: ~15%
speedup for 64-bit: ~ 2%
6 years ago
Ramiro Polla
ab3e40b37c
json_object_deep_copy: fix deep copy of strings containing '\0'
6 years ago
Ramiro Polla
1f46d2f40f
json_object_private: remove _delete field
This field is set based on o_type when the object is created and it is
not changed during the lifetime of the object. Therefore we can check
o_type to choose the proper delete function in json_object_put(), and
save sizeof(void *) bytes in struct json_object_private.
6 years ago
Eric Haszlakiewicz
39c9fa0a2b
Merge pull request #468 from rkalidas/compiler-fixes
Fix compiler warnings
6 years ago
Rubasri Kalidas
3003161eff
Fix compiler warnings
6 years ago
Eric Haszlakiewicz
6460446aa6
Switch to building a dynamic lib by default. Tweak language in the README.md slightly. Inspired by PR#452.
6 years ago
Eric Haszlakiewicz
ee4691c9fb
Merge pull request #453 from darjankrijan/master
Fixed misalignment in JSON string due to space after \n being printed...
6 years ago
Darjan Krijan
9c4b07faec
Removed newly created test case and incorporated it into test1.test and test2.test
6 years ago
Darjan Krijan
7a9075c16b
Added test cases for spaced pretty and pretty_tab used together
6 years ago
Eric Haszlakiewicz
240627f260
Merge pull request #454 from ramiropolla/json_object_private
json_object_private: save 8 bytes in struct json_object in 64-bit arc…
6 years ago
Eric Haszlakiewicz
745cadc944
Merge pull request #461 from andy5995/issue_422
json_object.c:set errno in json_object_get_double()
6 years ago
Eric Haszlakiewicz
83cb93b7ae
Merge pull request #462 from andy5995/issue_460
json_object.h:document json_object_new_string_len()
6 years ago
andy5995
2942870325
remove [in] from params description
Keeping this would be inconsistent with the other documentation
6 years ago
andy5995
3b108935d0
json_object.h:document json_object_new_string_len()
I also added a couple trivial, but related, suggestions.
closes #460
6 years ago
andy5995
506a32d4ab
json_object.c:set errno in json_object_get_double()
closes #422
6 years ago
Eric Haszlakiewicz
7539ab2d2e
Merge pull request #459 from andy5995/issue_438
README.html:fix link to Doxygen docs, remove WIN32 link
6 years ago
Eric Haszlakiewicz
753de5a5a9
Merge pull request #458 from andy5995/README_files_link
README.md:fix dead "file.html" link
6 years ago
Eric Haszlakiewicz
80bf857b27
Merge pull request #457 from andy5995/gitignore_build
.gitignore:add build directory
6 years ago
Eric Haszlakiewicz
aa831c7960
Merge pull request #456 from andy5995/style_perms
STYLE.txt:remove executable permissions
6 years ago
andy5995
fc1b113b29
README.html:fix link to Doxygen docs, remove WIN32 link
fixes #438
[skip ci]
6 years ago
andy5995
71f5c2d50b
README.md:fix dead "file.html" link
6 years ago
andy5995
c3e11d6812
.gitignore:add build directory
6 years ago
andy5995
dba65cbd30
STYLE.txt:remove executable permissions
6 years ago
Ramiro Polla
5bb5e2e8fc
json_object_private: save 8 bytes in struct json_object in 64-bit architectures
- there is no need for _ref_count to be uint_fast32_t (the compiler
might decide to use a 64-bit int). make it uint32_t instead.
- reorder the 32-bit integer fields (o_type and _ref_count) so that
there is no wasted 4-byte gap after each of them.
6 years ago
Darjan Krijan
b0bceaa8bf
Added a test for the space after \n issue with flags=JSON_C_TO_STRING_SPACED|JSON_C_TO_STRING_PRETTY|(JSON_C_TO_STRING_PRETTY_TAB) used in json_object_array_to_json_string
6 years ago
Darjan Krijan
3943960874
Removed spaces after \n for arrays as well
6 years ago
Darjan Krijan
e8cec5c9e4
Fixed misalignment in JSON string due to space after \n being printed when choosing JSON_C_TO_STRING_SPACED together with JSON_C_TO_STRING_PRETTY in json_object_array_to_json_string
6 years ago
Eric Haszlakiewicz
ebe520e96e
Merge pull request #450 from drizt/subproject
Allow use json-c cmake as subproject
7 years ago
Ivan Romanov
ba5a02e8a9
Allow use json-c cmake as subproject
Now json-c can be bundled to any cmake-based project and used with
couple lines of code:
add_subdirectory(json-c EXCLUDE_FROM_ALL)
target_link_libraries(MyProject json-c)
7 years ago
Eric Haszlakiewicz
994e6c1f60
Re-add creation and installation of the json-c.pc file to the cmake build.
7 years ago
Eric Haszlakiewicz
705e2fd010
Merge pull request #444 from Hawk777/document-ref-count-tokener
Document refcount of json_tokener_parse_ex return
7 years ago
Christopher Head
31d4d3dee7
Document refcount of json_tokener_parse_ex return
7 years ago
Eric Haszlakiewicz
0a8ac2ed92
Merge pull request #441 from changyongGuo/c_flag_error
fix c flag loss during cmake building
7 years ago
changyong guo
08c8231cc8
fix c flag loss during cmake building
7 years ago
Eric Haszlakiewicz
bf29aa0f8c
Merge pull request #434 from unmanned-player/devel
The real CMake support
7 years ago
Eric Haszlakiewicz
91f9884591
Merge pull request #436 from jobol/master
Improve pkgconfig setting
7 years ago
Jose Bollo
d189d7b5ff
Improve pkgconfig setting
This changes allows to use #include <json-c/json.h>
instead of just #include <json.h>
This is normally possible but in some tricky case
this usage is broken without this change.
Here is the case that I encountered. I had to
compile json-c fresh version for some investigations
on newer versions. Then I installed it on my local
environment using option --prefix. After that I
had 2 versions:
- the system wide version in usual locations
/usr/lib and /usr/include
- mine in my HOME directory
Then, as I'm used to include <json-c/json.h>, the
included iheder's version was the system wide one
whereas the linked lib was mine.
Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
7 years ago
Unmanned Player
f2e991a341
The real CMake support
This patch provides a CMakeLists.txt file to build JSON-C library without relying on auto-tools support. This makes the build a bit more portable and cleaner.
It can detect headers and symbols and generate config.h header file based on those detections. It cannot yet handle ctest(1) as the testing itself depends on comparing the output against files. Testing would need some creative abuse of CMake :) This will be provided a few patches later and may possibly involve refactoring test cases.
The patch has been tested on GCC 4.8.5 (Linux), GCC 7.2.0 (MinGW) and Microsoft Visual C++ 16.0 (2010?) locally. Also, compiles correctly on Travis CI and AppVeyor without errors.
7 years ago
Eric Haszlakiewicz
2327b23d8e
Merge pull request #431 from LeSpocky/cmake
cmake: Bump required version
7 years ago
Alexander Dahl
901d59b29f
cmake: Bump required version
Using 'project(foo VERSION 1.0)' requires CMake 3.0, the VERSION option
is not part of CMake 2.8.7, see:
* https://cmake.org/cmake/help/v2.8.7/cmake.html#command:project
* https://cmake.org/cmake/help/v3.0/release/3.0.0.html#commands
The property C_STANDARD was introduced with CMake 3.1, see:
* https://cmake.org/cmake/help/v3.1/release/3.1.0.html#properties
Signed-off-by: Alexander Dahl <post@lespocky.de>
7 years ago
Eric Haszlakiewicz
3df1f98b4a
Explain why we're not setting the output name for static libraries when on Windows.
7 years ago
Eric Haszlakiewicz
a056893263
Merge pull request #415 from sgbihu/master
Resolve windows name conflict
7 years ago
Eric Haszlakiewicz
e3752b5894
Issue #418 : Fix docs for json_util_from_fd and json_util_from_file to say that they return NULL on failures.
7 years ago
Eric Haszlakiewicz
c1c71097a1
Issue #419 : document that NULL may be passed to json_object_put().
7 years ago
Eric Haszlakiewicz
fb042f449b
Merge pull request #421 from lt-holman/install_header_file
install json_object_iterator.h header file
7 years ago