Skip to content

Commit 37fd976

Browse files
author
me
committed
use portable endian swapping
1 parent db43def commit 37fd976

File tree

1 file changed

+32
-33
lines changed

1 file changed

+32
-33
lines changed

src/msgpack.h

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
#include <cstdint>
44
#include <cstring>
5-
#include <endian.h>
65
#include <type_traits>
76
#include <limits>
87
#include <utility>
@@ -467,23 +466,23 @@ namespace msgpackcpp
467466
{
468467
// unsigned 16
469468
constexpr uint8_t format = MSGPACK_U16;
470-
const uint16_t v16 = htobe16(static_cast<uint16_t>(v));
469+
const uint16_t v16 = host_to_b16(static_cast<uint16_t>(v));
471470
out((const char*)&format, 1);
472471
out((const char*)&v16, 2);
473472
}
474473
else if (v <= std::numeric_limits<uint32_t>::max())
475474
{
476475
// unsigned 32
477476
constexpr uint8_t format = 0xce;
478-
const uint32_t v32 = htobe32(static_cast<uint32_t>(v));
477+
const uint32_t v32 = host_to_b32(static_cast<uint32_t>(v));
479478
out((const char*)&format, 1);
480479
out((const char*)&v32, 4);
481480
}
482481
else
483482
{
484483
// unsigned 64
485484
constexpr uint8_t format = 0xcf;
486-
const uint64_t v64 = htobe64(static_cast<uint64_t>(v));
485+
const uint64_t v64 = host_to_b64(static_cast<uint64_t>(v));
487486
out((const char*)&format, 1);
488487
out((const char*)&v64, 8);
489488
}
@@ -516,23 +515,23 @@ namespace msgpackcpp
516515
{
517516
// negative - int16
518517
constexpr uint8_t format = 0xd1;
519-
const uint16_t v16 = htobe16(bit_cast<uint16_t>(static_cast<int16_t>(v)));
518+
const uint16_t v16 = host_to_b16(bit_cast<uint16_t>(static_cast<int16_t>(v)));
520519
out((const char*)&format, 1);
521520
out((const char*)&v16, 2);
522521
}
523522
else if (v >= std::numeric_limits<int32_t>::min())
524523
{
525524
// negative - int32_t
526525
constexpr uint8_t format = 0xd2;
527-
const uint32_t v32 = htobe32(bit_cast<uint32_t>(static_cast<int32_t>(v)));
526+
const uint32_t v32 = host_to_b32(bit_cast<uint32_t>(static_cast<int32_t>(v)));
528527
out((const char*)&format, 1);
529528
out((const char*)&v32, 4);
530529
}
531530
else
532531
{
533532
// negative - int64_T
534533
constexpr uint8_t format = 0xd3;
535-
const uint64_t v64 = htobe64(bit_cast<uint64_t>(static_cast<int64_t>(v)));
534+
const uint64_t v64 = host_to_b64(bit_cast<uint64_t>(static_cast<int64_t>(v)));
536535
out((const char*)&format, 1);
537536
out((const char*)&v64, 8);
538537
}
@@ -566,21 +565,21 @@ namespace msgpackcpp
566565
// unsigned 16
567566
uint16_t tmp{};
568567
in((char*)&tmp, 2);
569-
v = htobe16(tmp);
568+
v = host_to_b16(tmp);
570569
}
571570
else if (format == 0xce)
572571
{
573572
// unsigned 32
574573
uint32_t tmp{};
575574
in((char*)&tmp, 4);
576-
v = htobe32(tmp);
575+
v = host_to_b32(tmp);
577576
}
578577
else if (format == 0xcf)
579578
{
580579
// unsigned 64
581580
uint64_t tmp{};
582581
in((char*)&tmp, 8);
583-
v = htobe64(tmp);
582+
v = host_to_b64(tmp);
584583
}
585584
else if (format == 0xd0)
586585
{
@@ -594,21 +593,21 @@ namespace msgpackcpp
594593
// signed 16
595594
uint16_t tmp{};
596595
in((char*)&tmp, 2);
597-
v = bit_cast<int16_t>(htobe16(tmp));
596+
v = bit_cast<int16_t>(host_to_b16(tmp));
598597
}
599598
else if (format == 0xd2)
600599
{
601600
// signed 32
602601
uint32_t tmp{};
603602
in((char*)&tmp, 4);
604-
v = bit_cast<int32_t>(htobe32(tmp));
603+
v = bit_cast<int32_t>(host_to_b32(tmp));
605604
}
606605
else if (format == 0xd3)
607606
{
608607
// signed 64
609608
uint64_t tmp{};
610609
in((char*)&tmp, 8);
611-
v = bit_cast<int64_t>(htobe64(tmp));
610+
v = bit_cast<int64_t>(host_to_b64(tmp));
612611
}
613612
else
614613
throw std::system_error(BAD_FORMAT);
@@ -620,7 +619,7 @@ namespace msgpackcpp
620619
inline void serialize(Stream& out, float v)
621620
{
622621
constexpr uint8_t format = 0xca;
623-
const uint32_t tmp = htobe32(bit_cast<uint32_t>(v));
622+
const uint32_t tmp = host_to_b32(bit_cast<uint32_t>(v));
624623
out((const char*)&format, 1);
625624
out((const char*)&tmp, 4);
626625
}
@@ -629,7 +628,7 @@ namespace msgpackcpp
629628
inline void serialize(Stream& out, double v)
630629
{
631630
constexpr uint8_t format = 0xcb;
632-
const uint64_t tmp = htobe64(bit_cast<uint64_t>(v));
631+
const uint64_t tmp = host_to_b64(bit_cast<uint64_t>(v));
633632
out((const char*)&format, 1);
634633
out((const char*)&tmp, 8);
635634
}
@@ -644,13 +643,13 @@ namespace msgpackcpp
644643
{
645644
uint32_t tmp{};
646645
in((char*)&tmp, 4);
647-
v = bit_cast<float>(htobe32(tmp));
646+
v = bit_cast<float>(host_to_b32(tmp));
648647
}
649648
else if (format == 0xcb)
650649
{
651650
uint64_t tmp{};
652651
in((char*)&tmp, 8);
653-
v = bit_cast<double>(htobe64(tmp));
652+
v = bit_cast<double>(host_to_b64(tmp));
654653
}
655654
else
656655
throw std::system_error(BAD_FORMAT);
@@ -676,14 +675,14 @@ namespace msgpackcpp
676675
else if (size < 65536)
677676
{
678677
constexpr uint8_t format = 0xda;
679-
const uint16_t size16 = htobe16(static_cast<uint16_t>(size));
678+
const uint16_t size16 = host_to_b16(static_cast<uint16_t>(size));
680679
out((const char*)&format, 1);
681680
out((const char*)&size16, 2);
682681
}
683682
else
684683
{
685684
constexpr uint8_t format = 0xdb;
686-
const uint32_t size32 = htobe32(static_cast<uint32_t>(size));
685+
const uint32_t size32 = host_to_b32(static_cast<uint32_t>(size));
687686
out((const char*)&format, 1);
688687
out((const char*)&size32, 4);
689688
}
@@ -709,13 +708,13 @@ namespace msgpackcpp
709708
{
710709
uint16_t size16{};
711710
in((char*)&size16, 2);
712-
size = htobe16(size16);
711+
size = host_to_b16(size16);
713712
}
714713
else if (format == 0xdb)
715714
{
716715
uint32_t size32{};
717716
in((char*)&size32, 4);
718-
size = htobe32(size32);
717+
size = host_to_b32(size32);
719718
}
720719
else
721720
throw std::system_error(BAD_FORMAT);
@@ -758,14 +757,14 @@ namespace msgpackcpp
758757
else if (len < 65536)
759758
{
760759
constexpr uint8_t format = 0xc5;
761-
const uint16_t size16 = htobe16(static_cast<uint16_t>(len));
760+
const uint16_t size16 = host_to_b16(static_cast<uint16_t>(len));
762761
out((const char*)&format, 1);
763762
out((const char*)&size16, 2);
764763
}
765764
else
766765
{
767766
constexpr uint8_t format = 0xc6;
768-
const uint32_t size32 = htobe32(static_cast<uint32_t>(len));
767+
const uint32_t size32 = host_to_b32(static_cast<uint32_t>(len));
769768
out((const char*)&format, 1);
770769
out((const char*)&size32, 4);
771770
}
@@ -787,13 +786,13 @@ namespace msgpackcpp
787786
{
788787
uint16_t size16{};
789788
in((char*)&size16, 2);
790-
size = htobe16(size16);
789+
size = host_to_b16(size16);
791790
}
792791
else if (format == 0xc6)
793792
{
794793
uint32_t size32{};
795794
in((char*)&size32, 4);
796-
size = htobe32(size32);
795+
size = host_to_b32(size32);
797796
}
798797
else
799798
throw std::system_error(BAD_FORMAT);
@@ -849,14 +848,14 @@ namespace msgpackcpp
849848
else if (size < 65536)
850849
{
851850
constexpr uint8_t format = 0xdc;
852-
const uint16_t size16 = htobe16(static_cast<uint16_t>(size));
851+
const uint16_t size16 = host_to_b16(static_cast<uint16_t>(size));
853852
out((const char*)&format, 1);
854853
out((const char*)&size16, 2);
855854
}
856855
else
857856
{
858857
constexpr uint8_t format = 0xdd;
859-
const uint32_t size32 = htobe32(static_cast<uint32_t>(size));
858+
const uint32_t size32 = host_to_b32(static_cast<uint32_t>(size));
860859
out((const char*)&format, 1);
861860
out((const char*)&size32, 4);
862861
}
@@ -876,13 +875,13 @@ namespace msgpackcpp
876875
{
877876
uint16_t size16{};
878877
in((char*)&size16, 2);
879-
size = htobe16(size16);
878+
size = host_to_b16(size16);
880879
}
881880
else if (format == 0xdd)
882881
{
883882
uint32_t size32{};
884883
in((char*)&size32, 4);
885-
size = htobe32(size32);
884+
size = host_to_b32(size32);
886885
}
887886
else
888887
throw std::system_error(BAD_FORMAT);
@@ -919,14 +918,14 @@ namespace msgpackcpp
919918
else if (size < 65536)
920919
{
921920
constexpr uint8_t format = 0xde;
922-
const uint16_t size16 = htobe16(static_cast<uint16_t>(size));
921+
const uint16_t size16 = host_to_b16(static_cast<uint16_t>(size));
923922
out((const char*)&format, 1);
924923
out((const char*)&size16, 2);
925924
}
926925
else
927926
{
928927
constexpr uint8_t format = 0xdf;
929-
const uint32_t size32 = htobe32(static_cast<uint32_t>(size));
928+
const uint32_t size32 = host_to_b32(static_cast<uint32_t>(size));
930929
out((const char*)&format, 1);
931930
out((const char*)&size32, 4);
932931
}
@@ -946,13 +945,13 @@ namespace msgpackcpp
946945
{
947946
uint16_t size16{};
948947
in((char*)&size16, 2);
949-
size = htobe16(size16);
948+
size = host_to_b16(size16);
950949
}
951950
else if (format == 0xdf)
952951
{
953952
uint32_t size32{};
954953
in((char*)&size32, 4);
955-
size = htobe32(size32);
954+
size = host_to_b32(size32);
956955
}
957956
else
958957
throw std::system_error(BAD_FORMAT);

0 commit comments

Comments
 (0)