Skip to content

Commit 7f56d28

Browse files
First align then save last_data_size_ (#282) (#283)
* Refs #23821. First align then save `last_data_size_`. * Refs #23821. Uncrustify. --------- (cherry picked from commit 276d7f5) Signed-off-by: Miguel Company <miguelcompany@eprosima.com> Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
1 parent dac7da9 commit 7f56d28

File tree

1 file changed

+48
-132
lines changed

1 file changed

+48
-132
lines changed

src/cpp/Cdr.cpp

Lines changed: 48 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -545,11 +545,9 @@ Cdr& Cdr::serialize(
545545

546546
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
547547
{
548-
// Save last datasize.
549-
last_data_size_ = sizeof(short_t);
550-
551-
// Align.
548+
// Align and save last datasize.
552549
make_alignment(align);
550+
last_data_size_ = sizeof(short_t);
553551

554552
if (swap_bytes_)
555553
{
@@ -584,11 +582,9 @@ Cdr& Cdr::serialize(
584582

585583
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
586584
{
587-
// Save last datasize.
588-
last_data_size_ = sizeof(long_t);
589-
590-
// Align.
585+
// Align and save last datasize.
591586
make_alignment(align);
587+
last_data_size_ = sizeof(long_t);
592588

593589
if (swap_bytes_)
594590
{
@@ -631,11 +627,9 @@ Cdr& Cdr::serialize(
631627

632628
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
633629
{
634-
// Save last datasize.
635-
last_data_size_ = align64_;
636-
637-
// Align.
630+
// Align and save last datasize.
638631
make_alignment(align);
632+
last_data_size_ = align64_;
639633

640634
if (swap_bytes_)
641635
{
@@ -670,11 +664,9 @@ Cdr& Cdr::serialize(
670664

671665
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
672666
{
673-
// Save last datasize.
674-
last_data_size_ = sizeof(float_t);
675-
676-
// Align.
667+
// Align and save last datasize.
677668
make_alignment(align);
669+
last_data_size_ = sizeof(float_t);
678670

679671
if (swap_bytes_)
680672
{
@@ -705,11 +697,9 @@ Cdr& Cdr::serialize(
705697

706698
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
707699
{
708-
// Save last datasize.
709-
last_data_size_ = align64_;
710-
711-
// Align.
700+
// Align and save last datasize.
712701
make_alignment(align);
702+
last_data_size_ = align64_;
713703

714704
if (swap_bytes_)
715705
{
@@ -744,11 +734,9 @@ Cdr& Cdr::serialize(
744734

745735
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
746736
{
747-
// Save last datasize.
748-
last_data_size_ = align64_;
749-
750-
// Align.
737+
// Align and save last datasize.
751738
make_alignment(align);
739+
last_data_size_ = align64_;
752740

753741
if (swap_bytes_)
754742
{
@@ -990,15 +978,10 @@ Cdr& Cdr::serialize_array(
990978

991979
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
992980
{
993-
// Save last datasize.
981+
// Align and save last datasize.
982+
make_alignment(align);
994983
last_data_size_ = sizeof(*short_t);
995984

996-
// Align if there are any elements
997-
if (num_elements)
998-
{
999-
make_alignment(align);
1000-
}
1001-
1002985
if (swap_bytes_)
1003986
{
1004987
const char* dst = reinterpret_cast<const char*>(short_t);
@@ -1037,15 +1020,10 @@ Cdr& Cdr::serialize_array(
10371020

10381021
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
10391022
{
1040-
// Save last datasize.
1023+
// Align and save last datasize.
1024+
make_alignment(align);
10411025
last_data_size_ = sizeof(*long_t);
10421026

1043-
// Align if there are any elements
1044-
if (num_elements)
1045-
{
1046-
make_alignment(align);
1047-
}
1048-
10491027
if (swap_bytes_)
10501028
{
10511029
const char* dst = reinterpret_cast<const char*>(long_t);
@@ -1102,15 +1080,10 @@ Cdr& Cdr::serialize_array(
11021080

11031081
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
11041082
{
1105-
// Save last datasize.
1083+
// Align and save last datasize.
1084+
make_alignment(align);
11061085
last_data_size_ = align64_;
11071086

1108-
// Align if there are any elements
1109-
if (num_elements)
1110-
{
1111-
make_alignment(align);
1112-
}
1113-
11141087
if (swap_bytes_)
11151088
{
11161089
const char* dst = reinterpret_cast<const char*>(longlong_t);
@@ -1155,15 +1128,10 @@ Cdr& Cdr::serialize_array(
11551128

11561129
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
11571130
{
1158-
// Save last datasize.
1131+
// Align and save last datasize.
1132+
make_alignment(align);
11591133
last_data_size_ = sizeof(*float_t);
11601134

1161-
// Align if there are any elements
1162-
if (num_elements)
1163-
{
1164-
make_alignment(align);
1165-
}
1166-
11671135
if (swap_bytes_)
11681136
{
11691137
const char* dst = reinterpret_cast<const char*>(float_t);
@@ -1204,15 +1172,10 @@ Cdr& Cdr::serialize_array(
12041172

12051173
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
12061174
{
1207-
// Save last datasize.
1175+
// Align and save last datasize.
1176+
make_alignment(align);
12081177
last_data_size_ = align64_;
12091178

1210-
// Align if there are any elements
1211-
if (num_elements)
1212-
{
1213-
make_alignment(align);
1214-
}
1215-
12161179
if (swap_bytes_)
12171180
{
12181181
const char* dst = reinterpret_cast<const char*>(double_t);
@@ -1258,15 +1221,10 @@ Cdr& Cdr::serialize_array(
12581221

12591222
if (((end_ - offset_) >= size_aligned) || resize(size_aligned))
12601223
{
1261-
// Save last datasize.
1224+
// Align and save last datasize.
1225+
make_alignment(align);
12621226
last_data_size_ = align64_;
12631227

1264-
// Align if there are any elements
1265-
if (num_elements)
1266-
{
1267-
make_alignment(align);
1268-
}
1269-
12701228
#if FASTCDR_HAVE_FLOAT128 && FASTCDR_SIZEOF_LONG_DOUBLE < 16
12711229
if (swap_bytes_)
12721230
{
@@ -1388,11 +1346,9 @@ Cdr& Cdr::deserialize(
13881346

13891347
if ((end_ - offset_) >= size_aligned)
13901348
{
1391-
// Save last datasize.
1392-
last_data_size_ = sizeof(short_t);
1393-
1394-
// Align
1349+
// Align and save last datasize.
13951350
make_alignment(align);
1351+
last_data_size_ = sizeof(short_t);
13961352

13971353
if (swap_bytes_)
13981354
{
@@ -1421,11 +1377,9 @@ Cdr& Cdr::deserialize(
14211377

14221378
if ((end_ - offset_) >= size_aligned)
14231379
{
1424-
// Save last datasize.
1425-
last_data_size_ = sizeof(long_t);
1426-
1427-
// Align
1380+
// Align and save last datasize.
14281381
make_alignment(align);
1382+
last_data_size_ = sizeof(long_t);
14291383

14301384
if (swap_bytes_)
14311385
{
@@ -1456,11 +1410,9 @@ Cdr& Cdr::deserialize(
14561410

14571411
if ((end_ - offset_) >= size_aligned)
14581412
{
1459-
// Save last datasize.
1460-
last_data_size_ = align64_;
1461-
1462-
// Align.
1413+
// Align and save last datasize.
14631414
make_alignment(align);
1415+
last_data_size_ = align64_;
14641416

14651417
if (swap_bytes_)
14661418
{
@@ -1495,11 +1447,9 @@ Cdr& Cdr::deserialize(
14951447

14961448
if ((end_ - offset_) >= size_aligned)
14971449
{
1498-
// Save last datasize.
1499-
last_data_size_ = sizeof(float_t);
1500-
1501-
// Align.
1450+
// Align and save last datasize.
15021451
make_alignment(align);
1452+
last_data_size_ = sizeof(float_t);
15031453

15041454
if (swap_bytes_)
15051455
{
@@ -1530,11 +1480,9 @@ Cdr& Cdr::deserialize(
15301480

15311481
if ((end_ - offset_) >= size_aligned)
15321482
{
1533-
// Save last datasize.
1534-
last_data_size_ = align64_;
1535-
1536-
// Align.
1483+
// Align and save last datasize.
15371484
make_alignment(align);
1485+
last_data_size_ = align64_;
15381486

15391487
if (swap_bytes_)
15401488
{
@@ -1569,11 +1517,9 @@ Cdr& Cdr::deserialize(
15691517

15701518
if ((end_ - offset_) >= size_aligned)
15711519
{
1572-
// Save last datasize.
1573-
last_data_size_ = align64_;
1574-
1575-
// Align.
1520+
// Align and save last datasize.
15761521
make_alignment(align);
1522+
last_data_size_ = align64_;
15771523

15781524
if (swap_bytes_)
15791525
{
@@ -1862,15 +1808,10 @@ Cdr& Cdr::deserialize_array(
18621808

18631809
if ((end_ - offset_) >= size_aligned)
18641810
{
1865-
// Save last datasize.
1811+
// Align and save last datasize.
1812+
make_alignment(align);
18661813
last_data_size_ = sizeof(*short_t);
18671814

1868-
// Align if there are any elements
1869-
if (num_elements)
1870-
{
1871-
make_alignment(align);
1872-
}
1873-
18741815
if (swap_bytes_)
18751816
{
18761817
char* dst = reinterpret_cast<char*>(short_t);
@@ -1909,15 +1850,10 @@ Cdr& Cdr::deserialize_array(
19091850

19101851
if ((end_ - offset_) >= size_aligned)
19111852
{
1912-
// Save last datasize.
1853+
// Align and save last datasize.
1854+
make_alignment(align);
19131855
last_data_size_ = sizeof(*long_t);
19141856

1915-
// Align if there are any elements
1916-
if (num_elements)
1917-
{
1918-
make_alignment(align);
1919-
}
1920-
19211857
if (swap_bytes_)
19221858
{
19231859
char* dst = reinterpret_cast<char*>(long_t);
@@ -1976,15 +1912,10 @@ Cdr& Cdr::deserialize_array(
19761912

19771913
if ((end_ - offset_) >= size_aligned)
19781914
{
1979-
// Save last datasize.
1915+
// Align and save last datasize.
1916+
make_alignment(align);
19801917
last_data_size_ = align64_;
19811918

1982-
// Align if there are any elements
1983-
if (num_elements)
1984-
{
1985-
make_alignment(align);
1986-
}
1987-
19881919
if (swap_bytes_)
19891920
{
19901921
char* dst = reinterpret_cast<char*>(longlong_t);
@@ -2029,15 +1960,10 @@ Cdr& Cdr::deserialize_array(
20291960

20301961
if ((end_ - offset_) >= size_aligned)
20311962
{
2032-
// Save last datasize.
1963+
// Align and save last datasize.
1964+
make_alignment(align);
20331965
last_data_size_ = sizeof(*float_t);
20341966

2035-
// Align if there are any elements
2036-
if (num_elements)
2037-
{
2038-
make_alignment(align);
2039-
}
2040-
20411967
if (swap_bytes_)
20421968
{
20431969
char* dst = reinterpret_cast<char*>(float_t);
@@ -2078,15 +2004,10 @@ Cdr& Cdr::deserialize_array(
20782004

20792005
if ((end_ - offset_) >= size_aligned)
20802006
{
2081-
// Save last datasize.
2007+
// Align and save last datasize.
2008+
make_alignment(align);
20822009
last_data_size_ = align64_;
20832010

2084-
// Align if there are any elements
2085-
if (num_elements)
2086-
{
2087-
make_alignment(align);
2088-
}
2089-
20902011
if (swap_bytes_)
20912012
{
20922013
char* dst = reinterpret_cast<char*>(double_t);
@@ -2132,15 +2053,10 @@ Cdr& Cdr::deserialize_array(
21322053

21332054
if ((end_ - offset_) >= size_aligned)
21342055
{
2135-
// Save last datasize.
2056+
// Align and save last datasize.
2057+
make_alignment(align);
21362058
last_data_size_ = align64_;
21372059

2138-
// Align if there are any elements
2139-
if (num_elements)
2140-
{
2141-
make_alignment(align);
2142-
}
2143-
21442060
#if FASTCDR_HAVE_FLOAT128 && FASTCDR_SIZEOF_LONG_DOUBLE < 16
21452061
if (swap_bytes_)
21462062
{

0 commit comments

Comments
 (0)