<p>Patch set 1:<span style="border-radius: 3px; display: inline-block; margin: 0 2px; padding: 4px;background-color: #ffd4d4;">Code-Review -1</span></p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/25283">View Change</a></p><p>1 comment:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/25283/1/src/osmo-bsc/abis_rsl.c">File src/osmo-bsc/abis_rsl.c:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/25283/1/src/osmo-bsc/abis_rsl.c@563">Patch Set #1, Line 563:</a> <code style="font-family:monospace,monospace">     cap = (struct abis_rsl_osmo_top_acch_cap *)msg->tail;</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">I think this approach is rather weird.</p><p style="white-space: pre-wrap; word-wrap: break-word;">Either </p><p style="white-space: pre-wrap; word-wrap: break-word;">a) we know that RSL_IE_OSMO_TOP_ACCH_CAP simply is a uint8_t and we don't use a struct, which means we can simply copy a uint8_t to the IE, or</p><p style="white-space: pre-wrap; word-wrap: break-word;">b) we use an opaque structure, but then we should only copy structure to structure with a memcpy, rather than copying a uint8_t to the tlv, while using sizeof() of the struct.</p><p style="white-space: pre-wrap; word-wrap: break-word;">To me, this looks like the absolute worst of both worlds.</p><p style="white-space: pre-wrap; word-wrap: break-word;">The only advantage of introducing a struct with a single element is future extensibility, but that only makes sense if all of the code is written in a way that it does not contain any assumptions that the struct/IE only constists of a single element.  Then you must write the code in a generic way.</p><p style="white-space: pre-wrap; word-wrap: break-word;">By mixing the two approaches it looks like it is easy to extend the s truct with additional elements, but actually it still will not work if you extend.</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/25283">change 25283</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bsc/+/25283"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I488a91bb4ed86f630db56564a0cd293f39f0f690 </div>
<div style="display:none"> Gerrit-Change-Number: 25283 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Comment-Date: Tue, 31 Aug 2021 06:46:42 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-Has-Labels: Yes </div>
<div style="display:none"> Gerrit-MessageType: comment </div>