Change in osmo-pcu[master]: rlc: Move prepare() function out of gprs_rlc_data struct

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

pespin gerrit-no-reply at lists.osmocom.org
Tue May 19 08:20:05 UTC 2020


pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/18350 )

Change subject: rlc: Move prepare() function out of gprs_rlc_data struct
......................................................................

rlc: Move prepare() function out of gprs_rlc_data struct

Newer gcc 10.1.0 is erroring due to memset being applied on a complex
type, so let's start by removing this only function outside of the
struct.

Change-Id: I20426557d9b3049ab275fadb92e10ea8a860a119
---
M src/rlc.cpp
M src/rlc.h
M src/tbf_dl.cpp
M tests/types/TypesTest.cpp
4 files changed, 9 insertions(+), 9 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, but someone else must approve
  osmith: Looks good to me, approved



diff --git a/src/rlc.cpp b/src/rlc.cpp
index 6d084b1..5316136 100644
--- a/src/rlc.cpp
+++ b/src/rlc.cpp
@@ -32,16 +32,16 @@
 }
 
 
-uint8_t *gprs_rlc_data::prepare(size_t block_data_len)
+uint8_t *prepare(struct gprs_rlc_data *rlc, size_t block_data_len)
 {
 	/* todo.. only set it once if it turns out to be a bottleneck */
-	memset(block, 0x0, sizeof(block));
-	memset(block, 0x2b, block_data_len);
+	memset(rlc->block, 0x0, sizeof(rlc->block));
+	memset(rlc->block, 0x2b, block_data_len);
 
 	/* Initial value of puncturing scheme */
-	next_ps = EGPRS_PS_1;
+	rlc->next_ps = EGPRS_PS_1;
 
-	return block;
+	return rlc->block;
 }
 
 void gprs_rlc_v_b::reset()
diff --git a/src/rlc.h b/src/rlc.h
index 135060e..109c5b3 100644
--- a/src/rlc.h
+++ b/src/rlc.h
@@ -177,8 +177,6 @@
 };
 
 struct gprs_rlc_data {
-	uint8_t *prepare(size_t block_data_length);
-
 	/* block data including LI headers */
 	uint8_t block[RLC_MAX_LEN];
 	/* block data len including LI headers*/
@@ -211,6 +209,8 @@
 	union split_block_status spb_status;
 };
 
+uint8_t *prepare(struct gprs_rlc_data *rlc, size_t block_data_length);
+
 void gprs_rlc_data_info_init_dl(struct gprs_rlc_data_info *rlc,
 	GprsCodingScheme cs, bool with_padding, const unsigned int spb);
 void gprs_rlc_data_info_init_ul(struct gprs_rlc_data_info *rlc,
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index dab1e29..cd4ddb9 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -581,7 +581,7 @@
 
 	/* now we still have untransmitted LLC data, so we fill mac block */
 	rlc_data = m_rlc.block(bsn);
-	data = rlc_data->prepare(block_data_len);
+	data = prepare(rlc_data, block_data_len);
 	rlc_data->cs_last = cs;
 	rlc_data->cs_current_trans = cs;
 
diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp
index b46a82b..e1c894d 100644
--- a/tests/types/TypesTest.cpp
+++ b/tests/types/TypesTest.cpp
@@ -97,7 +97,7 @@
 	{
 		struct gprs_rlc_data rlc = { 0, };
 		memset(rlc.block, 0x23, RLC_MAX_LEN);
-		uint8_t *p = rlc.prepare(20);
+		uint8_t *p = prepare(&rlc, 20);
 		OSMO_ASSERT(p == rlc.block);
 		for (int i = 0; i < 20; ++i)
 			OSMO_ASSERT(p[i] == 0x2B);

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/18350
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I20426557d9b3049ab275fadb92e10ea8a860a119
Gerrit-Change-Number: 18350
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: osmith <osmith at sysmocom.de>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200519/a4468cfa/attachment.htm>


More information about the gerrit-log mailing list