-void xmpp_roster_item(struct CitContext *cptr) {
- char xmlbuf1[256];
- char xmlbuf2[256];
-
- cprintf("<item jid=\"%s\" name=\"%s\" subscription=\"both\">",
- xmlesc(xmlbuf1, cptr->cs_inet_email, sizeof xmlbuf1),
- xmlesc(xmlbuf2, cptr->user.fullname, sizeof xmlbuf2)
- );
- cprintf("<group>%s</group>", xmlesc(xmlbuf1, config.c_humannode, sizeof xmlbuf1));
- cprintf("</item>");
+void xmpp_roster_item(struct CitContext *cptr)
+{
+ struct CitContext *CCC=CC;
+
+ XPrint(HKEY("item"), 0,
+ XCPROPERTY("subscription", "both"),
+ XPROPERTY("jid", CCC->cs_inet_email, strlen(CCC->cs_inet_email)),
+ XPROPERTY("name", cptr->user.fullname, strlen(cptr->user.fullname)),
+ TYPE_ARGEND);
+
+ XPrint(HKEY("group"), XCLOSED,
+ XCFGBODY(c_humannode),
+ TYPE_ARGEND);
+
+ XPUT("</item>");