1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

ui_smp_recipient_initiated_q takes ProfChatWin

This commit is contained in:
James Booth 2015-10-26 23:29:01 +00:00
parent 55e857d6a8
commit 3ce55de1e1
5 changed files with 18 additions and 14 deletions

View File

@ -152,10 +152,13 @@ otrlib_handle_tlvs(OtrlUserState user_state, OtrlMessageAppOps *ops, ConnContext
if (nextMsg != OTRL_SMP_EXPECT1) { if (nextMsg != OTRL_SMP_EXPECT1) {
otrl_message_abort_smp(user_state, ops, NULL, context); otrl_message_abort_smp(user_state, ops, NULL, context);
} else { } else {
char *question = (char *)tlv->data; ProfChatWin *chatwin = wins_get_chat(context->username);
char *eoq = memchr(question, '\0', tlv->len); if (chatwin) {
if (eoq) { char *question = (char *)tlv->data;
ui_smp_recipient_initiated_q(context->username, question); char *eoq = memchr(question, '\0', tlv->len);
if (eoq) {
ui_smp_recipient_initiated_q(chatwin, question);
}
} }
} }
} }

View File

@ -189,7 +189,9 @@ cb_handle_smp_event(void *opdata, OtrlSMPEvent smp_event,
break; break;
case OTRL_SMPEVENT_ASK_FOR_ANSWER: case OTRL_SMPEVENT_ASK_FOR_ANSWER:
ui_smp_recipient_initiated_q(context->username, question); if (chatwin) {
ui_smp_recipient_initiated_q(chatwin, question);
}
break; break;
case OTRL_SMPEVENT_SUCCESS: case OTRL_SMPEVENT_SUCCESS:

View File

@ -110,14 +110,13 @@ ui_smp_recipient_initiated(ProfChatWin *chatwin)
} }
void void
ui_smp_recipient_initiated_q(const char *const barejid, const char *question) ui_smp_recipient_initiated_q(ProfChatWin *chatwin, const char *question)
{ {
ProfChatWin *chatwin = wins_get_chat(barejid); assert(chatwin != NULL);
if (chatwin) {
win_vprint((ProfWin*)chatwin, '!', 0, NULL, 0, 0, "", "%s wants to authenticate your identity with the following question:", barejid); win_vprint((ProfWin*)chatwin, '!', 0, NULL, 0, 0, "", "%s wants to authenticate your identity with the following question:", chatwin->barejid);
win_vprint((ProfWin*)chatwin, '!', 0, NULL, 0, 0, "", " %s", question); win_vprint((ProfWin*)chatwin, '!', 0, NULL, 0, 0, "", " %s", question);
win_print((ProfWin*)chatwin, '!', 0, NULL, 0, 0, "", "use '/otr answer <answer>'."); win_print((ProfWin*)chatwin, '!', 0, NULL, 0, 0, "", "use '/otr answer <answer>'.");
}
} }
void void

View File

@ -67,7 +67,7 @@ void ui_gone_insecure(ProfChatWin *chatwin);
void ui_trust(const char *const barejid); void ui_trust(const char *const barejid);
void ui_untrust(const char *const barejid); void ui_untrust(const char *const barejid);
void ui_smp_recipient_initiated(ProfChatWin *chatwin); void ui_smp_recipient_initiated(ProfChatWin *chatwin);
void ui_smp_recipient_initiated_q(const char *const barejid, const char *question); void ui_smp_recipient_initiated_q(ProfChatWin *chatwin, const char *question);
void ui_smp_successful(const char *const barejid); void ui_smp_successful(const char *const barejid);
void ui_smp_unsuccessful_sender(const char *const barejid); void ui_smp_unsuccessful_sender(const char *const barejid);

View File

@ -71,7 +71,7 @@ void ui_gone_insecure(ProfChatWin *chatwin) {}
void ui_trust(const char * const barejid) {} void ui_trust(const char * const barejid) {}
void ui_untrust(const char * const barejid) {} void ui_untrust(const char * const barejid) {}
void ui_smp_recipient_initiated(ProfChatWin *chatwin) {} void ui_smp_recipient_initiated(ProfChatWin *chatwin) {}
void ui_smp_recipient_initiated_q(const char * const barejid, const char *question) {} void ui_smp_recipient_initiated_q(ProfChatWin *chatwin, const char *question) {}
void ui_smp_successful(const char * const barejid) {} void ui_smp_successful(const char * const barejid) {}
void ui_smp_unsuccessful_sender(const char * const barejid) {} void ui_smp_unsuccessful_sender(const char * const barejid) {}