当前位置: 代码迷 >> 综合 >> SIM 保存长号码失败, 提示:”Notsaved, number too long”
  详细解决方案

SIM 保存长号码失败, 提示:”Notsaved, number too long”

热度:36   发布时间:2024-01-19 20:47:41.0
引起这个问题的原因是:因为卡中的EXT1存在一些无效的记录,占用了EXT1的个数,所以会导致用户不能再添加新的长号码; 
 而换到对比机上能添加长号码,是因为对比机对这些无效的记录做了处理,使得终端用户可以继续添加添加长号码; 
 请修改下面的代码,也可以达到继续添加长号码的需求: 
 在phb_sim_read_cnf()中修改: 
else if ((control_block->primary_ID == FILE_EXT1_IDX) || 
 #ifdef __USIM_SUPPORT__ 
 (control_block->primary_ID == FILE_G_EXT1_IDX) || 
 #endif  
(control_block->primary_ID == FILE_EXT2_IDX) || 
 (control_block->primary_ID == FILE_EXT3_IDX) ||  
(control_block->primary_ID == FILE_EXT4_IDX)) 
 { 
 kal_uint16 len; 
 ef_ext_type *ef_ext; 
 ef_ext = (ef_ext_type*) sim_read_cnf->data; 
 if ((len = sim_read_cnf->length) > sizeof(ef_ext)) 
 { 
 len = sizeof(ef_ext_type); 
 } 
//code change begin..... 
 /* if (!is_empty((kal_uint8*) ef_ext, len)) 
 { 
 control_block->data = (kal_uint8*) ef_ext; 
 } 
 else 
 { 
 control_block->data = NULL; 
 }*/ 
  
control_block->data = NULL; 
//code change end..... 
 phb_IO_return(control_block, ilm_ptr, KAL_TRUE); 
 }
  相关解决方案