Changeset 6467 for trunk

Show
Ignore:
Timestamp:
07/26/08 05:34:44 (4 months ago)
Author:
flynd
Message:

Use const pointers for user and owner objects in daemon when they are only read locked. Fixed some places where we modified the objects without getting write access.

Location:
trunk/licq
Files:
18 modified

Legend:

Unmodified
Added
Removed
  • trunk/licq/include/licq_chat.h

    r6419 r6467  
    249249public: 
    250250  CChatClient(); 
    251   CChatClient(ICQUser *); 
     251  CChatClient(const ICQUser* u); 
    252252  CChatClient(const CChatClient &); 
    253253  CChatClient& operator=(const CChatClient &); 
  • trunk/licq/include/licq_icqd.h

    r6430 r6467  
    869869  { return SendExpectEvent_Server("0", LICQ_PPID, packet, ue, extendedEvent); } 
    870870 
    871   ICQEvent *SendExpectEvent_Client(ICQUser *, CPacket *, CUserEvent *); 
     871  ICQEvent* SendExpectEvent_Client(const ICQUser* u, CPacket* packet, CUserEvent* ue); 
    872872  ICQEvent *SendExpectEvent(ICQEvent *, void *(*fcn)(void *)); 
    873873  void AckTCP(CPacketTcp &, int); 
  • trunk/licq/include/licq_packets.h

    r6430 r6467  
    703703{ 
    704704public: 
    705   CPU_Type2Message(ICQUser *u, bool _bAck, bool _bDirectInfo, const char *cap, 
     705  CPU_Type2Message(const ICQUser* u, bool _bAck, bool _bDirectInfo, const char *cap, 
    706706                   unsigned long nMsgID1 = 0, 
    707707                   unsigned long nMsgID2 = 0); 
     
    709709  void InitBuffer(); 
    710710 
    711   ICQUser *m_pUser; 
     711  const ICQUser* m_pUser; 
    712712  bool m_bAck; 
    713713  bool m_bDirectInfo; 
     
    721721{ 
    722722public: 
    723   CPU_ReverseConnect(ICQUser *u, unsigned long nLocalIP, 
     723  CPU_ReverseConnect(const ICQUser* u, unsigned long nLocalIP, 
    724724                     unsigned short nLocalPort, unsigned short nRemotePort); 
    725725}; 
     
    738738{ 
    739739public: 
    740   CPU_PluginMessage(ICQUser *u, bool bAck, const char *PluginGUID, 
     740  CPU_PluginMessage(const ICQUser* u, bool bAck, const char *PluginGUID, 
    741741                    unsigned long nMsgID1 = 0, unsigned long nMsgID2 = 0); 
    742742 
     
    751751{ 
    752752public: 
    753   CPU_InfoPluginReq(ICQUser *u, const char *GUID, unsigned long nTime); 
     753  CPU_InfoPluginReq(const ICQUser* u, const char *GUID, unsigned long nTime); 
    754754  virtual const char *RequestGUID() { return m_ReqGUID; } 
    755755  virtual unsigned short ExtraInfo() { return ServerInfoPluginRequest; } 
     
    763763{ 
    764764public: 
    765   CPU_StatusPluginReq(ICQUser *u, const char *GUID, unsigned long nTime); 
     765  CPU_StatusPluginReq(const ICQUser* u, const char *GUID, unsigned long nTime); 
    766766  virtual unsigned short ExtraInfo() { return ServerStatusPluginRequest; } 
    767767  virtual const char *RequestGUID() { return m_ReqGUID; } 
     
    775775{ 
    776776public: 
    777   CPU_AdvancedMessage(ICQUser *u, unsigned short _nMsgType, 
     777  CPU_AdvancedMessage(const ICQUser* u, unsigned short _nMsgType, 
    778778                      unsigned short _nMsgFlags, bool _bAck, 
    779779                      unsigned short _nSequence, 
     
    793793public: 
    794794  CPU_ChatRequest(char *szReason, const char *szChatUsers, unsigned short nPort, 
    795                   unsigned short nLevel, ICQUser *pUser, bool bICBM); 
     795      unsigned short nLevel, const ICQUser* pUser, bool bICBM); 
    796796}; 
    797797 
     
    800800{ 
    801801public: 
    802   CPU_FileTransfer(ICQUser *, ConstFileList &lFileList, const char *_szFile, 
     802  CPU_FileTransfer(const ICQUser* u, ConstFileList &lFileList, const char *_szFile, 
    803803                   const char *_szDesc, unsigned short nLevel, bool bICBM); 
    804804}; 
     
    808808{ 
    809809public: 
    810     CPU_NoManager(ICQUser *u, unsigned long nMsgID1, unsigned long nMsgID2); 
     810    CPU_NoManager(const ICQUser* u, unsigned long nMsgID1, unsigned long nMsgID2); 
    811811}; 
    812812 
     
    815815{ 
    816816public: 
    817     CPU_AckThroughServer(ICQUser *u, unsigned long msgid1, 
     817    CPU_AckThroughServer(const ICQUser* u, unsigned long msgid1, 
    818818                         unsigned long msgid2, unsigned short sequence, 
    819819                         unsigned short msgType, bool bAccept, 
     
    833833{ 
    834834public: 
    835   CPU_AckGeneral(ICQUser *u, unsigned long nMsgID1, 
     835  CPU_AckGeneral(const ICQUser* u, unsigned long nMsgID1, 
    836836                 unsigned long nMsgID2, unsigned short nSequence, 
    837837                 unsigned short nMsgType, bool bAccept, unsigned short nLevel); 
     
    842842{ 
    843843public: 
    844   CPU_AckFileAccept(ICQUser* u, const unsigned long nMsgID[], 
     844  CPU_AckFileAccept(const ICQUser* u, const unsigned long nMsgID[], 
    845845                    unsigned short nSequence, unsigned short nPort, 
    846846                    const char *szDesc, const char *szFile, 
     
    852852{ 
    853853public: 
    854   CPU_AckFileRefuse(ICQUser* u, const unsigned long nMsgID[], 
     854  CPU_AckFileRefuse(const ICQUser* u, const unsigned long nMsgID[], 
    855855                    unsigned short nSequence, const char *msg); 
    856856}; 
     
    860860{ 
    861861public: 
    862   CPU_AckChatAccept(ICQUser* u, const char *szClients, const unsigned long nMsgID[], 
     862  CPU_AckChatAccept(const ICQUser* u, const char *szClients, const unsigned long nMsgID[], 
    863863                    unsigned short nSequence, unsigned short nPort); 
    864864}; 
     
    868868{ 
    869869public: 
    870   CPU_AckChatRefuse(ICQUser* u, const unsigned long nMsgID[], 
     870  CPU_AckChatRefuse(const ICQUser* u, const unsigned long nMsgID[], 
    871871                    unsigned short nSequence, const char *msg); 
    872872}; 
     
    876876{ 
    877877public: 
    878   CPU_PluginError(ICQUser *u, unsigned long nMsgID1, unsigned long nMsgID2, 
     878  CPU_PluginError(const ICQUser* u, unsigned long nMsgID1, unsigned long nMsgID2, 
    879879                  unsigned short nSequence, const char *GUID); 
    880880}; 
     
    884884{ 
    885885public: 
    886   CPU_InfoPluginListResp(ICQUser *u, unsigned long nMsgID1, 
     886  CPU_InfoPluginListResp(const ICQUser* u, unsigned long nMsgID1, 
    887887                         unsigned long nMsgID2, unsigned short nSequence); 
    888888}; 
     
    892892{ 
    893893public: 
    894   CPU_InfoPhoneBookResp(ICQUser *u, unsigned long nMsgID1, 
     894  CPU_InfoPhoneBookResp(const ICQUser* u, unsigned long nMsgID1, 
    895895                        unsigned long nMsgID2, unsigned short nSequence); 
    896896}; 
     
    900900{ 
    901901public: 
    902   CPU_InfoPictureResp(ICQUser *u, unsigned long nMsgID1, 
     902  CPU_InfoPictureResp(const ICQUser* u, unsigned long nMsgID1, 
    903903                      unsigned long nMsgID2, unsigned short nSequence); 
    904904}; 
     
    908908{ 
    909909public: 
    910   CPU_StatusPluginListResp(ICQUser *u, unsigned long nMsgID1, 
     910  CPU_StatusPluginListResp(const ICQUser* u, unsigned long nMsgID1, 
    911911                           unsigned long nMsgID2, unsigned short nSequence); 
    912912}; 
     
    916916{ 
    917917public: 
    918   CPU_StatusPluginResp(ICQUser *u, unsigned long nMsgID1, 
     918  CPU_StatusPluginResp(const ICQUser* u, unsigned long nMsgID1, 
    919919                       unsigned long nMsgID2, unsigned short nSequence, 
    920920                       unsigned long nStatus); 
  • trunk/licq/include/licq_user.h

    r6465 r6467  
    570570 
    571571  // Picture Info 
    572   bool GetPicturePresent() const              { return m_bPicturePresent; } 
    573   unsigned short BuddyIconType()    { return m_nBuddyIconType; } 
    574   char BuddyIconHashType()      { return m_nBuddyIconHashType; } 
    575   char *BuddyIconHash()         { return m_szBuddyIconHash; } 
    576   char *OurBuddyIconHash()      { return m_szOurBuddyIconHash; } 
     572  bool GetPicturePresent() const                { return m_bPicturePresent; } 
     573  unsigned short BuddyIconType() const          { return m_nBuddyIconType; } 
     574  char BuddyIconHashType() const                { return m_nBuddyIconHashType; } 
     575  const char* BuddyIconHash() const             { return m_szBuddyIconHash; } 
     576  const char* OurBuddyIconHash() const          { return m_szOurBuddyIconHash; } 
    577577 
    578578  // Dynamic info fields for protocol plugins 
     
    903903  void RemoveTLV(unsigned long); 
    904904  void SetTLVList(TLVList& tlvs); 
    905   TLVList GetTLVList(); 
     905  TLVList GetTLVList()                          { return myTLVs; } 
     906  const TLVList GetTLVList() const              { return myTLVs; } 
     907 
    906908 
    907909  // Don't call these: 
     
    11301132  bool SavePassword() const                     { return m_bSavePassword; } 
    11311133  unsigned long RandomChatGroup() const         { return m_nRandomChatGroup; } 
    1132   unsigned long AddStatusFlags(unsigned long nStatus); 
     1134  unsigned long AddStatusFlags(unsigned long nStatus) const; 
    11331135 
    11341136  // Deprecated functions, to be removed 
  • trunk/licq/include/licq_utility.h

    r6418 r6467  
    5050  const char *Default()  { return m_szDefault; } 
    5151  const char *FullDefault()  { return m_szFullDefault; } 
    52   bool SetFields(ICQUser *); 
     52  bool SetFields(const ICQUser* u); 
    5353protected: 
    5454  char *m_szTitle; 
  • trunk/licq/src/fifo.cpp

    r6405 r6467  
    156156StringToStatus(char *_szStatus) 
    157157{ 
    158   ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     158  const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    159159  unsigned long nStatus = o->AddStatusFlags(0); 
    160160  int i =0; 
     
    349349 
    350350  // Determine the status to go to 
    351   ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     351  const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    352352  bOffline = o->StatusOffline(); 
    353353  gUserManager.DropOwner(o); 
     
    468468    if( nPPID == LICQ_PPID ) 
    469469    { 
    470       ICQUser *u = gUserManager.FetchUser(szId, nPPID, LOCK_R); 
     470      const ICQUser* u = gUserManager.FetchUser(szId, nPPID, LOCK_R); 
    471471      if (u != NULL) 
    472472      { 
     
    569569  unsigned long nPPID; 
    570570  char *szId = 0;  
    571   ICQUser *u; 
    572571  int ret = -1;  
    573572 
     
    580579  else 
    581580  { 
    582     u = gUserManager.FetchUser(szId, nPPID, LOCK_R); 
     581    const ICQUser* u = gUserManager.FetchUser(szId, nPPID, LOCK_R); 
    583582    if (u == NULL) 
    584583      gLog.Warn(tr("%s %s: user %s not on contact list, not retrieving " 
  • trunk/licq/src/gpg.cpp

    r6271 r6467  
    8989  mKeysIni.SetSection("keys"); 
    9090 
    91   ICQUser *u = gUserManager.FetchUser( szId, nPPID, LOCK_R ); 
    92   if ( u ) 
     91  const ICQUser* u = gUserManager.FetchUser(szId, nPPID, LOCK_R); 
     92  if (u != NULL) 
    9393  { 
    9494    const char *tmp = u->GPGKey(); 
  • trunk/licq/src/icqd-chat.cpp

    r6419 r6467  
    121121 
    122122 
    123 CChatClient::CChatClient(ICQUser *u) 
     123CChatClient::CChatClient(const ICQUser* u) 
    124124{ 
    125125  m_nVersion = u->Version(); 
     
    682682  licqDaemon = d; 
    683683 
    684   ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     684  const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    685685  strncpy(m_szName, o->GetAlias(), 32); 
    686686  m_szName[31] = '\0'; 
     
    761761  if (!StartChatServer()) return; 
    762762 
    763   ICQUser *u = gUserManager.FetchUser(m_szId, LICQ_PPID, LOCK_R); 
     763  const ICQUser* u = gUserManager.FetchUser(m_szId, LICQ_PPID, LOCK_R); 
    764764  if (u == NULL) return; 
    765765  m_pChatClient = new CChatClient(u); 
     
    788788  bool bTryDirect = true; 
    789789  bool bResult = false; 
    790   ICQUser* temp_user = gUserManager.FetchUser(u->szId, u->nPPID, LOCK_R); 
     790  const ICQUser* temp_user = gUserManager.FetchUser(u->szId, u->nPPID, LOCK_R); 
    791791  if (temp_user != NULL) 
    792792  { 
     
    806806  if (!bSuccess) 
    807807  { 
    808     ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     808    const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    809809    unsigned long nIp = bSendIntIp ? o->IntIp() : o->Ip(); 
    810810    gUserManager.DropOwner(o); 
     
    25022502 
    25032503  bool bSendIntIp = false; 
    2504   ICQUser* temp_user = gUserManager.FetchUser(rc->u->Id(), rc->u->PPID(), LOCK_R); 
     2504  const ICQUser* temp_user = gUserManager.FetchUser(rc->u->Id(), rc->u->PPID(), LOCK_R); 
    25052505  if (temp_user != NULL) 
    25062506  { 
  • trunk/licq/src/icqd-filetransfer.cpp

    r6402 r6467  
    207207  licqDaemon = d; 
    208208 
    209   ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     209  const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    210210  strncpy(m_szLocalName, o->GetAlias(), sizeof(m_szLocalName) - 1); 
    211211  m_szLocalName[sizeof(m_szLocalName) - 1] = '\0'; 
     
    342342bool CFileTransferManager::ConnectToFileServer(unsigned short nPort) 
    343343{ 
    344   ICQUser *u = gUserManager.FetchUser(myId, LICQ_PPID, LOCK_R); 
     344  const ICQUser* u = gUserManager.FetchUser(myId, LICQ_PPID, LOCK_R); 
    345345  if (u == NULL) 
    346346    return false; 
     
    360360  if (!bSuccess) 
    361361  { 
    362     ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     362    const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    363363    unsigned long nIp = bSendIntIp ? o->IntIp() : o->Ip(); 
    364364    gUserManager.DropOwner(o); 
     
    392392 
    393393  // Send handshake packet: 
    394   ICQUser *u = gUserManager.FetchUser(myId, LICQ_PPID, LOCK_R); 
     394  const ICQUser* u = gUserManager.FetchUser(myId, LICQ_PPID, LOCK_R); 
    395395  unsigned short nVersion = u->ConnectionVersion(); 
    396396  gUserManager.DropUser(u); 
  • trunk/licq/src/icqd-srv.cpp

    r6462 r6467  
    281281 
    282282  // Get their old SID 
    283   ICQUser* u = gUserManager.FetchUser(_szId, _nPPID, LOCK_R); 
     283  const ICQUser* u = gUserManager.FetchUser(_szId, _nPPID, LOCK_R); 
    284284  const char* alias = u->GetAlias(); 
    285285  int nSID = u->GetSID(); 
     
    474474  if (!UseServerContactList() || m_nTCPSrvSocketDesc == -1) return; 
    475475 
    476   ICQUser *u = gUserManager.FetchUser(_szId, LICQ_PPID, LOCK_R); 
     476  const ICQUser* u = gUserManager.FetchUser(_szId, LICQ_PPID, LOCK_R); 
    477477  if (u == NULL) return; 
    478478  const char* szNewAlias = u->GetAlias(); 
     
    496496void CICQDaemon::icqAlertUser(const char* id, unsigned long ppid) 
    497497{ 
    498   ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     498  const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    499499  char sz[MAX_MESSAGE_SIZE]; 
    500500  sprintf(sz, "%s%c%s%c%s%c%s%c%c%c", o->GetAlias(), 0xFE, o->GetFirstName(), 
     
    525525  else 
    526526  { 
    527     ICQUser *u = gUserManager.FetchUser(_szId, LICQ_PPID, LOCK_R); 
     527    const ICQUser* u = gUserManager.FetchUser(_szId, LICQ_PPID, LOCK_R); 
    528528    if (!u) return 0; 
    529529 
     
    655655  if (m_eStatus == STATUS_ONLINE) 
    656656  { 
    657     ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     657    const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    658658    status = o->StatusFull(); 
    659659    gUserManager.DropOwner(o); 
     
    717717  if (_nPPID == LICQ_PPID) 
    718718  { 
    719     ICQUser *u = gUserManager.FetchUser(_szId, LICQ_PPID, LOCK_R); 
     719    const ICQUser* u = gUserManager.FetchUser(_szId, LICQ_PPID, LOCK_R); 
    720720    if (u == NULL) return 0; 
    721721 
     
    772772 
    773773  // Set the status flags 
    774   ICQOwner *o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     774  const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    775775  unsigned long s = o->AddStatusFlags(newStatus); 
    776776  unsigned long pfm = o->PhoneFollowMeStatus(); 
     
    13101310void CICQDaemon::ProtoToggleVisibleList(const char* _szId, unsigned long _nPPID) 
    13111311{ 
    1312   ICQUser *u = gUserManager.FetchUser(_szId, _nPPID, LOCK_R); 
     1312  const ICQUser* u = gUserManager.FetchUser(_szId, _nPPID, LOCK_R); 
    13131313  if (u == NULL) return; 
    13141314  bool b = u->VisibleList(); 
     
    13431343void CICQDaemon::ProtoToggleInvisibleList(const char *_szId, unsigned long _nPPID) 
    13441344{ 
    1345   ICQUser *u = gUserManager.FetchUser(_szId, _nPPID, LOCK_R); 
     1345  const ICQUser* u = gUserManager.FetchUser(_szId, _nPPID, LOCK_R); 
    13461346  if (u == NULL) return; 
    13471347  bool b = u->InvisibleList(); 
     
    13761376void CICQDaemon::icqToggleIgnoreList(const char *_szId, unsigned long _nPPID) 
    13771377{ 
    1378   ICQUser *u = gUserManager.FetchUser(_szId, _nPPID, LOCK_R); 
     1378  const ICQUser* u = gUserManager.FetchUser(_szId, _nPPID, LOCK_R); 
    13791379  if (u == NULL) return; 
    13801380  bool b = u->IgnoreList(); 
     
    16851685{ 
    16861686  ICQEvent* result; 
    1687   ICQUser *u = gUserManager.FetchUser(szId, LICQ_PPID, LOCK_R); 
     1687  const ICQUser* u = gUserManager.FetchUser(szId, LICQ_PPID, LOCK_R); 
    16881688  bool bOffline = u->StatusOffline(); 
    16891689  gUserManager.DropUser(u); 
     
    17601760      e->m_nSubResult != ICQ_TCPxACK_RETURN) 
    17611761  { 
    1762     ICQUser *u = gUserManager.FetchUser(e->m_szId, e->m_nPPID, LOCK_R); 
     1762    ICQUser* u = gUserManager.FetchUser(e->m_szId, e->m_nPPID, LOCK_W); 
    17631763    if (u != NULL) 
    17641764    { 
     
    18601860    return 0; 
    18611861  } 
    1862   ICQOwner *o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     1862  const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    18631863  if (o->IdString() == 0) 
    18641864  { 
     
    18931893  if (m_bNeedSalt) 
    18941894  { 
    1895     ICQOwner *o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     1895    const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    18961896    CPU_RequestLogonSalt *p =  new CPU_RequestLogonSalt(o->IdString()); 
    18971897    gUserManager.DropOwner(o); 
     
    23792379    case ICQ_SNACxSRV_ACKxIMxICQ: 
    23802380    { 
    2381       // ICQOwner *o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     2381      // const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    23822382      // unsigned long nListTime = o->GetSSTime(); 
    23832383      // gUserManager.DropOwner(o); 
     
    30463046    if (bFake && isdigit(szId[0])) 
    30473047    { 
    3048       ICQUser *user = gUserManager.FetchUser(szId, LICQ_PPID, LOCK_R); 
     3048      const ICQUser* user = gUserManager.FetchUser(szId, LICQ_PPID, LOCK_R); 
    30493049      //XXX Debug output 
    30503050      //gLog.Error("%sIgnoring fake offline: %s (%s)\n", L_SRVxSTR, 
     
    31323132        if ((*iter)->nId == nSubSequence) 
    31333133        { 
    3134           ICQUser* u = gUserManager.FetchUser((*iter)->myIdString.c_str(), LICQ_PPID, LOCK_R); 
     3134          const ICQUser* u = gUserManager.FetchUser((*iter)->myIdString.c_str(), LICQ_PPID, LOCK_R); 
    31353135          if (u == NULL) 
    31363136            gLog.Warn("%sReverse connection from %s failed.\n", L_WARNxSTR, 
     
    38473847      case ICQ_CMDxSUB_EMAILxPAGER: 
    38483848      { 
    3849             ICQUser *u = gUserManager.FetchUser(szId, LICQ_PPID, LOCK_R); 
     3849            const ICQUser* u = gUserManager.FetchUser(szId, LICQ_PPID, LOCK_R); 
    38503850            bool bIgnore = (u && u->IgnoreList()); 
    38513851            gUserManager.DropUser(u); 
     
    45274527            if (e->SubType() == ICQ_SNACxLIST_ROSTxADD && !bTopLevelUpdated) 
    45284528            { 
    4529               ICQUser *u = gUserManager.FetchUser(pending.c_str(), LICQ_PPID, LOCK_R); 
     4529              ICQUser* u = gUserManager.FetchUser(pending.c_str(), LICQ_PPID, LOCK_W); 
    45304530              if (u) 
    45314531              { 
     
    45724572    { 
    45734573      char *szId = packet.UnpackUserString(); 
    4574       ICQUser *u = gUserManager.FetchUser(szId, LICQ_PPID, LOCK_R); 
     4574      const ICQUser* u = gUserManager.FetchUser(szId, LICQ_PPID, LOCK_R); 
    45754575      bool bIgnore = (u && u->IgnoreList()); 
    45764576      gUserManager.DropUser(u); 
     
    47864786      sendTM.tm_isdst = -1; 
    47874787 
    4788           ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     4788          const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    47894789      nTimeSent = mktime(&sendTM) - o->SystemTimeGMTOffset(); 
    47904790          gUserManager.DropOwner(o); 
     
    50825082      case ICQ_CMDxSUB_EMAILxPAGER: 
    50835083      { 
    5084                 ICQUser* u = gUserManager.FetchUser(id, LICQ_PPID, LOCK_R); 
     5084                const ICQUser* u = gUserManager.FetchUser(id, LICQ_PPID, LOCK_R); 
    50855085            bool bIgnore = false; 
    50865086            if (u) 
     
    62656265    { 
    62666266      char *md5Salt = packet.UnpackStringBE(); 
    6267       ICQOwner *o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     6267      const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    62686268      CPU_NewLogon *p = new CPU_NewLogon(o->Password(), o->IdString(), md5Salt); 
    62696269      gUserManager.DropOwner(o); 
  • trunk/licq/src/icqd-tcp.cpp

    r6435 r6467  
    265265   bool bMultipleRecipients, CICQColor *pColor) 
    266266{ 
    267   ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
     267  const ICQOwner* o = gUserManager.FetchOwner(LICQ_PPID, LOCK_R); 
    268268  if (o != NULL) 
    269269  {