Mercurial > ~mikael > mcabber > hg
comparison mcabber/src/jabglue.c @ 1236:f7b35b1c343d
Fix a roster bug when receiving a MUC invitation
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 16 Jun 2007 12:19:14 +0200 |
parents | 80c095886fb5 |
children | dcb99f0b5aaa |
comparison
equal
deleted
inserted
replaced
1235:58d6e7713164 | 1236:f7b35b1c343d |
---|---|
2227 static void got_invite(char* from, char *to, char* reason, char* passwd) | 2227 static void got_invite(char* from, char *to, char* reason, char* passwd) |
2228 { | 2228 { |
2229 eviqs *evn; | 2229 eviqs *evn; |
2230 event_muc_invitation *invitation; | 2230 event_muc_invitation *invitation; |
2231 GString *sbuf; | 2231 GString *sbuf; |
2232 char *barejid; | |
2232 | 2233 |
2233 sbuf = g_string_new(""); | 2234 sbuf = g_string_new(""); |
2234 if (reason) { | 2235 if (reason) { |
2235 g_string_printf(sbuf, | 2236 g_string_printf(sbuf, |
2236 "Received an invitation to <%s>, from <%s>, reason: %s", | 2237 "Received an invitation to <%s>, from <%s>, reason: %s", |
2237 to, from, reason); | 2238 to, from, reason); |
2238 } else { | 2239 } else { |
2239 g_string_printf(sbuf, "Received an invitation to <%s>, from <%s>", | 2240 g_string_printf(sbuf, "Received an invitation to <%s>, from <%s>", |
2240 to, from); | 2241 to, from); |
2241 } | 2242 } |
2242 scr_WriteIncomingMessage(from, sbuf->str, 0, HBB_PREFIX_INFO); | 2243 |
2244 barejid = jidtodisp(from); | |
2245 scr_WriteIncomingMessage(barejid, sbuf->str, 0, HBB_PREFIX_INFO); | |
2243 scr_LogPrint(LPRINT_LOGNORM, "%s", sbuf->str); | 2246 scr_LogPrint(LPRINT_LOGNORM, "%s", sbuf->str); |
2244 | 2247 |
2245 evn = evs_new(EVS_TYPE_INVITATION, EVS_MAX_TIMEOUT); | 2248 evn = evs_new(EVS_TYPE_INVITATION, EVS_MAX_TIMEOUT); |
2246 if (evn) { | 2249 if (evn) { |
2247 evn->callback = &evscallback_invitation; | 2250 evn->callback = &evscallback_invitation; |
2254 evn->desc = g_strdup_printf("<%s> invites you to %s ", from, to); | 2257 evn->desc = g_strdup_printf("<%s> invites you to %s ", from, to); |
2255 g_string_printf(sbuf, "Please use /event %s accept|reject", evn->id); | 2258 g_string_printf(sbuf, "Please use /event %s accept|reject", evn->id); |
2256 } else { | 2259 } else { |
2257 g_string_printf(sbuf, "Unable to create a new event!"); | 2260 g_string_printf(sbuf, "Unable to create a new event!"); |
2258 } | 2261 } |
2259 scr_WriteIncomingMessage(from, sbuf->str, 0, HBB_PREFIX_INFO); | 2262 scr_WriteIncomingMessage(barejid, sbuf->str, 0, HBB_PREFIX_INFO); |
2260 scr_LogPrint(LPRINT_LOGNORM, "%s", sbuf->str); | 2263 scr_LogPrint(LPRINT_LOGNORM, "%s", sbuf->str); |
2261 g_string_free(sbuf, TRUE); | 2264 g_string_free(sbuf, TRUE); |
2265 g_free(barejid); | |
2262 } | 2266 } |
2263 | 2267 |
2264 // Specific MUC message handling (for example invitation processing) | 2268 // Specific MUC message handling (for example invitation processing) |
2265 static void got_muc_message(char *from, xmlnode x) | 2269 static void got_muc_message(char *from, xmlnode x) |
2266 { | 2270 { |