From ebe4f5bc258f4b9b4682379b0eb328e55b00a7a1 Mon Sep 17 00:00:00 2001
From: Lionel Gauthier <lionel.gauthier@eurecom.fr>
Date: Thu, 2 Oct 2014 13:31:18 +0000
Subject: [PATCH] mnc length can be 3

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5833 818b1a75-f10b-46b9-bf7c-635c3b92a50f
---
 openair2/RRC/LITE/MESSAGES/asn1_msg.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
index 32838bf024..7da31f4eab 100644
--- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
@@ -444,9 +444,15 @@ uint8_t do_SIB1(uint8_t Mod_id, LTE_DL_FRAME_PARMS *frame_parms, uint8_t *buffer
       dummy_mnc[1] = (configuration->mnc / 10) % 10;
       dummy_mnc[2] = (configuration->mnc / 1) % 10;
   } else {
-    dummy_mnc[0] = (configuration->mnc / 10) % 10;
-    dummy_mnc[1] = (configuration->mnc / 1) % 10;
-    dummy_mnc[2] = 0xf;
+      if (configuration->mnc_digit_length == 2) {
+        dummy_mnc[0] = (configuration->mnc / 10) % 10;
+        dummy_mnc[1] = (configuration->mnc / 1) % 10;
+        dummy_mnc[2] = 0xf;
+      } else {
+          dummy_mnc[0] = (configuration->mnc / 100) % 100;
+          dummy_mnc[1] = (configuration->mnc / 10) % 10;
+          dummy_mnc[2] = (configuration->mnc / 1) % 10;
+      }
   }
 #else
   dummy_mnc[0] = 0;
-- 
GitLab