diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-05-18 11:02:39 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-05-18 11:07:03 +0200 |
commit | 5bb87b83d1ff90686bb1709969bcc2fc86185e46 (patch) | |
tree | a3f69442397c054917c76bec0bc6321ff741fae2 /src | |
parent | c68e97012c36c4e65aa632e32bb47fff609bacd4 (diff) |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/rlc.cpp | 10 | ||||
-rw-r--r-- | src/rlc.h | 4 | ||||
-rw-r--r-- | src/tbf_dl.cpp | 2 |
3 files changed, 8 insertions, 8 deletions
diff --git a/src/rlc.cpp b/src/rlc.cpp index 6d084b13..5316136d 100644 --- a/src/rlc.cpp +++ b/src/rlc.cpp @@ -32,16 +32,16 @@ extern "C" { } -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() @@ -177,8 +177,6 @@ union split_block_status { }; 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 @@ struct gprs_rlc_data { 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 dab1e290..cd4ddb91 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -581,7 +581,7 @@ int gprs_rlcmac_dl_tbf::create_new_bsn(const uint32_t fn, GprsCodingScheme cs) /* 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; |