Commit Graph

472 Commits

Author SHA1 Message Date
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
3b405fcab3 Merge branch 'msgpack:cpp_master' into cpp_master 2022-06-02 10:41:36 +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
Stanislav Eismont
7bcb6aad05 fix detection of linux based os. According to https://sourceforge.net/p/predef/wiki/OperatingSystems/ 'linux' macro is obsolete, '__linux__' should be used instead. It turns out that 'linux' macro undefined when compiling project with e.g. '-std=c++11' compilation flag 2022-05-25 10:42:43 +03:00
Georg Fritze
6f0683bb46 pack double and float more size efficient 2022-05-13 13:04:17 +02:00
Takatoshi Kondo
ff707d8fb5 Update version to 4.1.1. 2022-03-09 20:10:25 +09:00
Takatoshi Kondo
e596b6fe35 Remove chrono support on MSGPACK_NO_BOOST. 2022-03-09 12:55:17 +09:00
Takatoshi Kondo
79db041e8e Update the version to 4.1.0. 2022-02-12 16:45:29 +09: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
Philippe Jaubert
683b6e42c6 Update iterator.hpp
Can be a problem depending on the project folder nomenclature.
2021-11-01 15:27:17 +01:00
Takatoshi Kondo
63221f5524 Updated the version to 4.0.3. 2021-10-23 13:28:06 +09:00
Takatoshi Kondo
9416c7cc5c Removed Enabler2. 2021-10-23 12:03:16 +09:00
Takatoshi Kondo
d8324b58e9 Updated the version to 4.0.2. 2021-08-31 09:33:01 +09:00
Takatoshi Kondo
5ef0108088 Updated the version to 4.0.1
Fixed missing file and directory in makedist.sh.
2021-08-30 08:51:50 +09:00
Takatoshi Kondo
93b41492fe Updated to version 4.0.0. 2021-08-29 22:20:28 +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
b0860a5f37 Fixed ptr size operation. 2020-07-02 13:34:00 +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
328be0b445 rename include/msgpack/*.h to include/msgpack/*.hpp
include/msgpack/sysdep.h => include/msgpack/sysdep.hpp
include/msgpack/unpack_define.h => include/msgpack/unpack_define.hpp
include/msgpack/version_master.h => include/msgpack/version_master.hpp

Use `git log --follow include/msgpack/filename.hpp` to see full log
2020-06-05 16:44:51 +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
Takatoshi Kondo
66fa561256 Update the version to 3.3.0. 2020-06-05 16:22:34 +09:00
yuangongji
403567c1c5 convert between msgpack and json 2020-05-24 17:24:55 +08:00
yuangongji
1a372058a6 Use C style casts instead of C++ style casts 2020-04-16 12:46:16 +08:00