- XPrint(HKEY("iq"), 0,
- XCPROPERTY("type", "result"),
- XPROPERTY("from", CCC->cs_inet_email, strlen(CCC->cs_inet_email)),
- XPROPERTY("to", XMPP->client_jid, strlen(XMPP->client_jid)),
- XPROPERTY("id", Buf, blen),
- TYPE_ARGEND);
-
- XPrint(HKEY("query"), 0,
- XCPROPERTY("xmlns", "jabber:iq:roster"),
- TYPE_ARGEND);
-
- XPrint(HKEY("item"), 0,
- XCPROPERTY("subscription", "remove"),
- XPROPERTY("jid", presence_jid, strlen(presence_jid)),
- TYPE_ARGEND);
-
- XPrint(HKEY("group"), XCLOSED,
- XCFGBODY(c_humannode),
- TYPE_ARGEND);
- XPUT("</item>"
- "</query>"
- "</iq>"
+ cprintf("<iq from=\"%s\" to=\"%s\" id=\"unbuddy_%x\" type=\"result\">",
+ xmlesc(xmlbuf1, CC->cs_principal_id, 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>"