<p><a href="https://gerrit.osmocom.org/12524">View Change</a></p><p>2 comments:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.osmocom.org/#/c/12524/3/src/gsm/gsm23003.c">File src/gsm/gsm23003.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/12524/3/src/gsm/gsm23003.c@83">Patch Set #3, Line 83:</a> <code style="font-family:monospace,monospace">bool</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">I think it may be interesting to the caller *why* it failed validation. So a simple bool value may be too simple. Maybe return negative error codes and 0 on success? Then the negative error codes could have an enum or #defines differentiating the cause.</p></li><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.osmocom.org/#/c/12524/3/src/gsm/gsm23003.c@93">Patch Set #3, Line 93:</a> </p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><pre style="font-family: monospace,monospace; white-space: pre-wrap;"> /* Verify Luhn algorithm (see Wikipedia)<br> * digit id (i) | 00 01 02 03 04 05 06 07 08 09 10 11 12 13 CHK<br> * double | x x x x x x x<br> * do not double | x x x x x x x<br> */<br><br> /* Double every second digit and add it to sum */<br> for (i = 1; i < 14; i += 2) {<br> int check = 2 * (imei[i] - '0');<br> if (check > 9)<br> check -= 9;<br> sum += check;<br> }<br></pre></blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">the IMEI checksumming function should definitely be a separate function, as it may be useful in other purposes.</p><p style="white-space: pre-wrap; word-wrap: break-word;">The osmo_imei_str_valid could then simply call that checksum-generation function and do the compare.</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.osmocom.org/12524">change 12524</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/12524"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: comment </div>
<div style="display:none"> Gerrit-Change-Id: Id2d2a3a93b033bafc74c62e15297034bf4aafe61 </div>
<div style="display:none"> Gerrit-Change-Number: 12524 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Max <msuraev@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Pau Espin Pedrol <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Vadim Yanitskiy <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-Comment-Date: Mon, 14 Jan 2019 12:52:12 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-HasLabels: No </div>