INT_PTR __cdecl CJabberProto::OnJoinChat( WPARAM wParam, LPARAM ) { DBVARIANT nick, jid; HANDLE hContact = ( HANDLE )wParam; if ( JGetStringT( hContact, "ChatRoomID", &jid )) return 0; if ( JGetStringT( hContact, "MyNick", &nick )) if ( JGetStringT( NULL, "Nick", &nick )) { JFreeVariant( &jid ); return 0; } TCHAR *password = JGetStringCrypt( hContact, "LoginPassword" ); if ( JGetWord( hContact, "Status", 0 ) != ID_STATUS_ONLINE ) { if ( !jabberChatDllPresent ) JabberChatDllError(); else { TCHAR* p = _tcschr( jid.ptszVal, '@' ); if ( p != NULL ) { *p++ = 0; GroupchatJoinRoom( p, jid.ptszVal, nick.ptszVal, password ); } } } mir_free( password ); JFreeVariant( &nick ); JFreeVariant( &jid ); return 0; }
INT_PTR __cdecl CJabberProto::OnJoinChat(WPARAM hContact, LPARAM) { ptrT jid(getTStringA(hContact, "ChatRoomID")); if (jid == NULL) return 0; ptrT nick(getTStringA(hContact, "MyNick")); if (nick == NULL) if ((nick = getTStringA("Nick")) == NULL) return 0; ptrT password(getTStringA(hContact, "Password")); if (getWord(hContact, "Status", 0) != ID_STATUS_ONLINE) { TCHAR *p = _tcschr(jid, '@'); if (p != NULL) { *p++ = 0; GroupchatJoinRoom(p, jid, nick, password); } } return 0; }