Commit Graph

116 Commits

Author SHA1 Message Date
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
Takatoshi Kondo 709d6f4fdd Fixed #754.
Fixed `msgpack::object` packing visitor and equal comparison visitor.

NOTE:
In the function `visit_ext(const char* v, uint32_t size)`, v contains
type and size means buffer `v` size. See #175.
2019-01-05 09:41:58 +09:00
Takatoshi Kondo 4f9ec65713 Fixed #741.
Fixed msgpack::type::tuple base class conversion.
Fixed C++03 msgpack::type::make_tuple.
2018-10-16 22:42:50 +09:00
Takatoshi Kondo 1155babda8 Added wstring adaptor. 2018-09-12 16:17:14 +09:00
tbeu d72765870a Move overflow check up 2018-09-06 15:09:52 +02:00
tbeu c056026dad Fix memory leaks 2018-09-04 22:24:40 +02:00
jwang 60930f4b12 adding unit tests and fixing same overflow issue in hpp files 2018-09-03 22:23:53 +02:00
Takatoshi Kondo 53d2ea9ad3 Fixed #724.
Fixed type mismatch in msgpack_timestamp.
Added 64bit singed postfix.
2018-08-27 22:40:04 +09:00
Takatoshi Kondo 8a788f3a48 Added C++17 std::byte support.
`std::byte` is mapped to
https://github.com/msgpack/msgpack/blob/master/spec.md#int-format-family.

`std::vector<std::byte>` and `std::byte[]` are mapped to https://github.com/msgpack/msgpack/blob/master/spec.md#bin-format-family.
2018-08-12 16:23:39 +09:00
Takatoshi Kondo 84ba0c7b4b Merge pull request #704 from owent-contrib/master
Fix MSGPACK_DEPRECATED for MSVC 1914 with /Zc:__cplusplus
2018-08-09 17:48:26 +09:00