Commit Graph

125 Commits

Author SHA1 Message Date
Takatoshi Kondo b051192ed6 Fixed #1037.
Added MSGPACK_NO_BOOST guard for direct inclusion of chrono adaptor,
2022-11-02 09:58:36 +09:00
Takatoshi Kondo 5eabf7189a Fixed #1029.
Removed invalid `noexcept` from zone's constructor.
2022-08-19 09:34:07 +09:00
Takatoshi Kondo 25c3947a91 Merge pull request #1011 from timblechmann/fix/make-some-headers-self-contained
make some headers self-contained
2022-07-10 19:55:31 +09:00
GeorgFritze 05de839b44 fix bug in pack_float and pack_double 2022-06-13 09:18:22 +02:00
GeorgFritze d59e1d7716 update msgpack_basic test for compact double packaging
update pack_double and pack_float to avoid warnings
2022-06-07 09:46:39 +02:00
GeorgFritze d5c837b612 style changes 2022-06-03 15:08:23 +02:00
GeorgFritze 68acf21a8e pack double and float in a more size efficient way
check also for nan and numeric limits
2022-06-02 10:40:51 +02:00
Georg Fritze 6f0683bb46 pack double and float more size efficient 2022-05-13 13:04:17 +02:00
Tim Blechmann 8b87e62835 make some headers self-contained
some headers are not self-contained, as they depend on
symbols from headers which aren't included
2022-03-23 15:29:12 +08:00
Takatoshi Kondo 066d509a68 Minimall supported build without boost.
To remove boost dependency, `-DMSGPACK_USE_BOOST=OFF` for cmake.
By default, `-DMSGPACK_USE_BOOST` is `ON`.
NOTE: In order to build tests `-DMSGPACK_USE_BOOST=ON` is required.

For C++ compiler, the option `-DMSGPACK_NO_BOOST` is required to remove
boost.
2022-02-07 22:32:59 +09:00
John Cortell bae76b7cf6 Further adjustment to EXT case 2021-11-09 07:23:52 -06:00
John Cortell f543d94521 adjust based on PR feedback 2021-11-08 09:18:46 -06:00
John Cortell 9ff1b5e939 Don't send binary values to output stream
The stringification of a msgpack object shouldn't write the
raw bytes of a binary value. It will likely make the result
unprintable. Just print that it's a binary blob and include
the size. E.g.,

{"data":BIN(1032256)}

EXT is handled similarly but without the size. We now also
print the size.

Issue 994
2021-11-08 08:44:15 -06:00
Takatoshi Kondo 49bdd40eab Fixed other similar include problems. 2021-11-02 09:57:37 +09:00
Takatoshi Kondo ca9f25b51e Added file include.
Added cstdint header for uintptr_t (for C++11 or later)
Added stdint.h header for uintptr_t (for C++03)
2021-08-29 21:35:33 +09:00
Takatoshi Kondo 860f7fce55 Ported #962 to C++.
Improved alignment calculation logic.
Fixed test for zone.
Now, align parameter must be 2^n (n >=0). e.g. 1,2,4,8,16, ...
2021-08-29 13:46:51 +09:00
Daniil Kovalev d04b1e7549 Fix empty string deserialization with API version 1 2021-08-28 17:36:39 +03:00
Daniil Kovalev 7b7615a6d9 Modernize codebase
- Enhance CMakeLists.txt files.
- Move to Boost Test from Google Test to support pre-C++11 compilers.
- Add more configurations on CI matrix builds.
- Other minor fixes
2021-07-01 18:17:20 +03:00
Daniil Kovalev 0af15e45de Add tests for std::span adaptor 2021-05-28 15:14:47 -04:00
Daniil Kovalev 18ec42ccac Merge branch 'cpp_master' into add_span_support 2021-05-28 21:56:17 +03:00
Takatoshi Kondo 3feac1f51d Fixed #956.
Called memcpy only if STR/BIN size > 0.
2021-05-15 23:43:33 +09:00
Daniil Kovalev 77045f13bb Add tests for std::span adaptor 2021-05-10 22:41:10 +03:00
Daniil Kovalev 388891edad Add support for more binary buffer types
Add support for the following types:
- `std::array<std::byte>`
- `std::span<char>`
- `std::span<unsigned char>`
- `std::span<std::byte>`
2021-05-10 16:06:26 +03:00
Daniil Kovalev 90677eb58c Fix UB in v4raw_ref::operator==
Behaviour of memcmp is undefined if any of pointers passed to it is null.
See https://en.cppreference.com/w/c/string/byte/memcmp for details.
UB was detected on test MSGPACK_V4RAW_REF.pack_unpack_fix_l with UB-sanitizer.
2021-05-09 15:43:14 +03:00
Daniil Kovalev 3944993686 Fix name conflicts
Previously `struct iovec` was explicitly defined on non-Unix systems,
which caused name conflicts when other libraries (e.g. Cyrus SASL) did the same.
Using `struct iovec` as `msgpack::iovec` solves the problem.
2021-05-08 16:26:25 +03:00
Takatoshi Kondo 6598c6228f Replaced assert with BOOST_ASSERT.
Applied *buffer buf and len checking assert.
Avoided needless code execution if buf is nullptr.
2020-07-02 21:36:04 +09:00
Takatoshi Kondo c8a053557c Propagated CXXFLAGS.
Fixed warnings.
2020-07-02 16:15:08 +09:00
Takatoshi Kondo 0e22de17b1 Merge branch 'ygj6-cpp_master' into cpp_master 2020-07-02 13:58:30 +09:00
Takatoshi Kondo 8ee6df83cc Fixed warning on fusion adaptor. 2020-07-02 09:13:53 +09:00
Takatoshi Kondo 0168468ac8 Merge branch 'cpp_master' of https://github.com/ygj6/msgpack-c into cpp_master 2020-07-02 08:51:59 +09:00
yuangongji ee29324fd5 check null pointer before using memcpy() 2020-07-01 20:44:15 +08:00
Takatoshi Kondo ebb5e0ceca Fixed undefined behavior in chrono converting.
Replaced static_cast with boost::numeric_cast to detect invalid cast
easier.
2020-07-01 16:22:01 +09:00
Takatoshi Kondo 4629583662 Improved clock adaptor. 2020-06-14 18:47:03 +09:00
Takatoshi Kondo 899d3319bf Removed code repeat. 2020-06-12 23:14:23 +09:00
Takatoshi Kondo 6eaf7fd38d Added steady_clock and high_resolution_clock support. 2020-06-12 22:16:19 +09:00
Takatoshi Kondo 3b80c45725 Added complex type support. 2020-06-10 13:26:40 +09:00
yuangongji 2f5b137997 remove C part in source code 2020-06-05 18:12:03 +08:00
yuangongji 689e6d053a remove C part files
remove the following files or folders:
ci/build_cmake_embedded.sh
example/c
example/cmake
include/msgpack/predef
include/msgpack/preprocessor.hpp
include/msgpack/preprocessor
include/msgpack/v1/preprocessor.hpp
include/msgpack.h
include/msgpack/fbuffer.h
include/msgpack/gcc_atomic.h
include/msgpack/object.h
include/msgpack/pack.h
include/msgpack/pack_define.h
include/msgpack/pack_template.h
include/msgpack/predef.h
include/msgpack/sbuffer.h
include/msgpack/timestamp.h
include/msgpack/unpack.h
include/msgpack/unpack_template.h
include/msgpack/util.h
include/msgpack/version.h
include/msgpack/vrefbuffer.h
include/msgpack/zbuffer.h
include/msgpack/zone.h
msgpack_vc8.sln
msgpack_vc8.vcproj
msgpack-config.cmake.in
msgpack.pc.in
src
test/fixint_c.cpp
test/msgpack_c.cpp
test/pack_unpack_c.cpp
test/streaming_c.cpp
.gitmodules
external
QUICKSTART-C.md
2020-06-05 16:44:51 +08:00
Igor Sadchenko 9a3cd0c951 Fixed many warnings/errors with macro __GNUC__(issue #850) 2020-03-26 02:03:25 +03:00
Takatoshi Kondo 6954e01338 Fixed #794.
Buffer is expanded not only Z_OK, but also Z_BUF_ERROR case.
2019-07-12 21:55:50 +09:00
Takatoshi Kondo 7d994630d2 Replaced integer overflow with efficient way.
Same fix as #776 on C.
2019-07-07 18:13:31 +09:00
Wojciech Kaluza 41b2af8884 Fix self-including header 2019-05-22 20:38:36 +01:00
Takatoshi Kondo d3fecce359 Added timespec support for C++11 or later. 2019-05-09 14:46:45 +09:00
Takatoshi Kondo 6a08446b3d Removed noexcept overload. 2019-05-01 18:00:07 +09:00
Takatoshi Kondo c93a42b5f4 Separate C++03 and 11. 2019-05-01 17:20:39 +09:00
Takatoshi Kondo 8febbfd9f5 Fixed noexcept. 2019-05-01 16:42:15 +09:00
Takatoshi Kondo 33a8d8c30f Added noexcept overload for C++11 and later. 2019-05-01 16:08:17 +09:00
Takatoshi Kondo ef5bcadd95 Fixed #777.
Removed SFINAE. Use size type extractor.
2019-05-01 14:10:34 +09:00
Takatoshi Kondo 17267ed475 Added -Wconversion support for C++. 2019-03-25 19:48:39 +09:00
Takatoshi Kondo f72372314e Fixed #763.
Fixed aligned_zone_size_visitor size passing.
Replaced by value with by reference.
2019-02-12 12:53:07 +09:00