From 260e696c8b184a72eb4b836ab2555ba611ddfabd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Leroy?= <frederic.leroy@b-com.com>
Date: Tue, 26 Jul 2016 11:38:03 +0200
Subject: [PATCH] UE: move nvram data filename to nas_user_t

---
 openair3/NAS/UE/nas_ue_task.c |  7 +++++++
 openair3/NAS/UE/nas_user.c    | 13 ++-----------
 openair3/NAS/UE/user_defs.h   |  1 +
 3 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/openair3/NAS/UE/nas_ue_task.c b/openair3/NAS/UE/nas_ue_task.c
index 3d45f5ac1b..af176bd169 100644
--- a/openair3/NAS/UE/nas_ue_task.c
+++ b/openair3/NAS/UE/nas_ue_task.c
@@ -102,6 +102,13 @@ void *nas_ue_task(void *args_p)
       exit(EXIT_FAILURE);
     }
 
+    /* Get UE's data pathname */
+    user->user_nvdata_store = memory_get_path(USER_NVRAM_DIRNAME, USER_NVRAM_FILENAME);
+    if ( user->user_nvdata_store == NULL ) {
+      LOG_E(NAS, "[UE %d] - Failed to get USIM data application filename", user->ueid);
+      exit(EXIT_FAILURE);
+    }
+
     /* Initialize user interface (to exchange AT commands with user process) */
     nas_user_api_id_initialize(user);
     user->user_at_commands = calloc_or_fail(sizeof(user_at_commands_t));
diff --git a/openair3/NAS/UE/nas_user.c b/openair3/NAS/UE/nas_user.c
index 3756570ea0..27f632831e 100644
--- a/openair3/NAS/UE/nas_user.c
+++ b/openair3/NAS/UE/nas_user.c
@@ -161,20 +161,11 @@ void nas_user_initialize(nas_user_t *user, emm_indication_callback_t emm_cb,
 
   user->nas_user_nvdata = calloc_or_fail(sizeof(user_nvdata_t));
 
-  /* Get UE's data pathname */
-  char *path = memory_get_path(USER_NVRAM_DIRNAME, USER_NVRAM_FILENAME);
-
-  if (path == NULL) {
-    LOG_TRACE(ERROR, "USR-MAIN  - Failed to get UE's data pathname");
-    exit(EXIT_FAILURE);
-  }
-
   /* Get UE data stored in the non-volatile memory device */
-  int rc = memory_read(path, user->nas_user_nvdata, sizeof(user_nvdata_t));
+  int rc = memory_read(user->usim_data_store, user->nas_user_nvdata, sizeof(user_nvdata_t));
   if (rc != RETURNok) {
-    LOG_TRACE(ERROR, "USR-MAIN  - Failed to read %s", path);
+    LOG_TRACE(ERROR, "USR-MAIN  - Failed to read %s", user->nas_user_nvdata);
   }
-  free(path);
 
   user->nas_user_context = calloc_or_fail(sizeof(nas_user_context_t));
   _nas_user_context_initialize(user->nas_user_context, version);
diff --git a/openair3/NAS/UE/user_defs.h b/openair3/NAS/UE/user_defs.h
index caa2017f8d..ac16e39ef6 100644
--- a/openair3/NAS/UE/user_defs.h
+++ b/openair3/NAS/UE/user_defs.h
@@ -77,6 +77,7 @@ typedef struct {
   usim_data_t usim_data; // USIM application data
   const char *usim_data_store; // USIM application data filename
   user_nvdata_t *nas_user_nvdata; //UE parameters stored in the UE's non-volatile memory device
+  const char *user_nvdata_store; //UE parameters stored in the UE's non-volatile memory device
   //
   nas_user_context_t *nas_user_context;
   at_response_t *at_response; // data structure returned to the user as the result of NAS procedure function call
-- 
GitLab