- XPUT("<iq type=\"result\" from=\"");
- XPutProp(CCC->cs_inet_email, strlen(CCC->cs_inet_email));
- XPUT("\" to=\"");
- XPutProp(XMPP->client_jid, strlen(XMPP->client_jid));
- XPUT("\" id=\"unbuddy_");
- XPrintf("%x", ++unsolicited_id);
- XPUT("\">");
-
- XPUT("<query xmlns=\"jabber:iq:roster\">"
- "<item subscription=\"remove\" jid=\"");
- XPutProp(presence_jid, strlen(presence_jid));
- XPUT("\">"
- "<group>");
- XPutBody(CFG_KEY(c_humannode));
- XPUT("</group>"
- "</item>"
- "</query>"
- "</iq>"
+ cprintf("<iq from=\"%s\" to=\"%s\" id=\"unbuddy_%x\" type=\"result\">",
+ xmlesc(xmlbuf1, CC->cs_inet_email, sizeof xmlbuf1),
+ xmlesc(xmlbuf2, XMPP->client_jid, sizeof xmlbuf2),
+ ++unsolicited_id
+ );
+ cprintf("<query xmlns=\"jabber:iq:roster\">");
+ cprintf("<item jid=\"%s\" subscription=\"remove\">", xmlesc(xmlbuf1, presence_jid, sizeof xmlbuf1));
+ cprintf("<group>%s</group>", xmlesc(xmlbuf1, CtdlGetConfigStr("c_humannode"), sizeof xmlbuf1));
+ cprintf("</item>");
+ cprintf("</query>"
+ "</iq>"