extern GSList *ua_devices_user_list;
extern ua_callback_s user_callbacks[UA_USER_EVENT_MAX];
+static void __ua_check_and_free_user_info_from_list(const char *account)
+{
+ ua_user_info_s *user_info = NULL;
+
+ ret_if(NULL == account);
+
+ user_info = _ua_get_user_from_list(account);
+
+ if (user_info) {
+ ua_users_list = g_slist_remove(ua_users_list, user_info);
+ _ua_free_ua_user_info_t(user_info);
+ }
+}
+
ua_user_info_s *_ua_get_user_from_list(const char *account)
{
GSList *l;
UA_VALIDATE_INPUT_PARAMETER(handle);
UA_VALIDATE_INPUT_PARAMETER(name);
- retv_if(user->isadded, UA_ERROR_INVALID_PARAMETER);
retv_if((strlen(name) > UAM_USER_NAME_MAX_STRING_LEN), UA_ERROR_INVALID_PARAMETER);
if (user->name)
/* LCOV_EXCL_STOP */
}
- _ua_free_ua_user_info_t(user);
+ __ua_check_and_free_user_info_from_list(user->account);
FUNC_EXIT;
return UA_ERROR_NONE;