<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/14189">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gsm48_encode_bcd_number(): clarify optional LHV header initialization<br><br>Change-Id: Iafd911dd55691b3715391e3899cd6971245c8d7f<br>---<br>M src/gsm/gsm48_ie.c<br>M tests/gsm0408/gsm0408_test.c<br>M tests/gsm0408/gsm0408_test.ok<br>3 files changed, 16 insertions(+), 6 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gsm/gsm48_ie.c b/src/gsm/gsm48_ie.c</span><br><span>index 688698d..59f931b 100644</span><br><span>--- a/src/gsm/gsm48_ie.c</span><br><span>+++ b/src/gsm/gsm48_ie.c</span><br><span>@@ -132,7 +132,13 @@</span><br><span>  *  \param[in] max_len Maximum Length of \a bcd_lv</span><br><span>  *  \param[in] h_len Length of an optional heder between L and V portion</span><br><span>  *  \param[in] input phone number as 0-terminated ASCII</span><br><span style="color: hsl(0, 100%, 40%);">- *  \returns number of bytes used in \a bcd_lv */</span><br><span style="color: hsl(120, 100%, 40%);">+ *  \returns number of bytes used in \a bcd_lv</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * Depending on a context (e.g. called or calling party BCD number), the</span><br><span style="color: hsl(120, 100%, 40%);">+ * optional header between L and V parts can contain TON (Type Of Number),</span><br><span style="color: hsl(120, 100%, 40%);">+ * NPI (Numbering Plan Indication), presentation or screening indicator.</span><br><span style="color: hsl(120, 100%, 40%);">+ * NOTE: it is up to the caller to initialize this header!</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span> int gsm48_encode_bcd_number(uint8_t *bcd_lv, uint8_t max_len,</span><br><span>                      int h_len, const char *input)</span><br><span> {</span><br><span>diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c</span><br><span>index d7bae77..b5f8061 100644</span><br><span>--- a/tests/gsm0408/gsm0408_test.c</span><br><span>+++ b/tests/gsm0408/gsm0408_test.c</span><br><span>@@ -654,7 +654,7 @@</span><br><span> </span><br><span>              /* Encoding test */</span><br><span>          .enc_ascii = "123456",</span><br><span style="color: hsl(0, 100%, 40%);">-                .enc_hex   = "0700000000214365",</span><br><span style="color: hsl(120, 100%, 40%);">+            .enc_hex   = "07ffffffff214365",</span><br><span>           .enc_h_len = 4, /* LHV */</span><br><span>            .enc_rc    = 4 + 4,</span><br><span> </span><br><span>@@ -732,8 +732,8 @@</span><br><span> static void test_bcd_number_encode_decode()</span><br><span> {</span><br><span>    const struct bcd_number_test *test;</span><br><span style="color: hsl(0, 100%, 40%);">-     uint8_t buf_enc[0xff] = { 0 };</span><br><span style="color: hsl(0, 100%, 40%);">-  char buf_dec[0xff] = { 0 };</span><br><span style="color: hsl(120, 100%, 40%);">+   uint8_t buf_enc[0xff] = { 0xff };</span><br><span style="color: hsl(120, 100%, 40%);">+     char buf_dec[0xff] = { 0xff };</span><br><span>       size_t buf_len, i;</span><br><span>   int rc;</span><br><span> </span><br><span>@@ -780,6 +780,10 @@</span><br><span>                   printf("    -   Actual: (rc=%d) '%s'\n",</span><br><span>                          rc, (rc == 0 || rc == -ENOSPC) ? buf_dec : "(none)");</span><br><span>               }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+           /* Poison buffers between the test iterations */</span><br><span style="color: hsl(120, 100%, 40%);">+              memset(buf_enc, 0xff, sizeof(buf_enc));</span><br><span style="color: hsl(120, 100%, 40%);">+               memset(buf_dec, 0xff, sizeof(buf_dec));</span><br><span>      }</span><br><span> </span><br><span>        printf("\n");</span><br><span>diff --git a/tests/gsm0408/gsm0408_test.ok b/tests/gsm0408/gsm0408_test.ok</span><br><span>index 075886e..844c201 100644</span><br><span>--- a/tests/gsm0408/gsm0408_test.ok</span><br><span>+++ b/tests/gsm0408/gsm0408_test.ok</span><br><span>@@ -149,8 +149,8 @@</span><br><span>     -   Actual: (rc=0) '123456789'</span><br><span> - Running test: regular 6-digit MSISDN with optional header (LHV)</span><br><span>   - Encoding ASCII (buffer limit=0) '123456'...</span><br><span style="color: hsl(0, 100%, 40%);">-    - Expected: (rc=8) '0700000000214365'</span><br><span style="color: hsl(0, 100%, 40%);">-    -   Actual: (rc=8) '0721436587214365'</span><br><span style="color: hsl(120, 100%, 40%);">+    - Expected: (rc=8) '07ffffffff214365'</span><br><span style="color: hsl(120, 100%, 40%);">+    -   Actual: (rc=8) '07ffffffff214365'</span><br><span>   - Decoding HEX (buffer limit=0) '07deadbeef214365'...</span><br><span>     - Expected: (rc=0) '123456'</span><br><span>     -   Actual: (rc=0) '123456'</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/14189">change 14189</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/14189"/><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: merged </div>
<div style="display:none"> Gerrit-Change-Id: Iafd911dd55691b3715391e3899cd6971245c8d7f </div>
<div style="display:none"> Gerrit-Change-Number: 14189 </div>
<div style="display:none"> Gerrit-PatchSet: 5 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </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: Vadim Yanitskiy <axilirator@gmail.com> </div>