Show
Ignore:
Timestamp:
06/11/08 04:31:51 (7 months ago)
Author:
eugene
Message:

Introduced the default user encoding setting.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/licq/src/user.cpp

    r6243 r6248  
    487487 
    488488//=====CUserManager============================================================= 
    489 CUserManager::CUserManager() : m_hUsers(USER_HASH_SIZE) 
     489CUserManager::CUserManager() 
     490  : m_hUsers(USER_HASH_SIZE), 
     491    m_szDefaultEncoding(NULL) 
    490492{ 
    491493  // Set up the basic all users and new users group 
     
    530532  pthread_rdwr_destroy_np(&mutex_userlist); 
    531533  pthread_rdwr_destroy_np(&mutex_grouplist); 
     534 
     535  if (m_szDefaultEncoding != NULL) 
     536    free(m_szDefaultEncoding); 
    532537} 
    533538 
     
    614619  licqConf.ClearFlag(INI_FxFATAL); 
    615620  licqConf.ReadNum("NewUserGroup", m_nNewUserGroup, 0); 
     621  licqConf.SetFlag(INI_FxFATAL); 
     622 
     623  char szTemp[MAX_LINE_LEN]; 
     624  licqConf.SetSection("network"); 
     625  licqConf.ClearFlag(INI_FxFATAL); 
     626  licqConf.ReadStr("DefaultUserEncoding", szTemp, ""); 
     627  SetString(&m_szDefaultEncoding, szTemp); 
    616628  licqConf.SetFlag(INI_FxFATAL); 
    617629  licqConf.CloseFile(); 
     
    16381650  u->RemoveFromGroup(GROUPS_USER, _nGroup); 
    16391651  DropUser(u); 
     1652} 
     1653 
     1654 
     1655void CUserManager::SetDefaultUserEncoding(const char* defaultEncoding) 
     1656{ 
     1657  SetString(&m_szDefaultEncoding, defaultEncoding); 
    16401658} 
    16411659 
     
    25132531} 
    25142532 
     2533char* ICQUser::UserEncoding() 
     2534{ 
     2535  if (m_szEncoding == NULL || m_szEncoding[0] == '\0') 
     2536    return gUserManager.DefaultUserEncoding(); 
     2537  else 
     2538    return m_szEncoding; 
     2539} 
    25152540 
    25162541