X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fxmpp%2Fserv_xmpp.c;h=bab30ab7f9ada500861c0bf5fcde5452b9250abb;hb=3088e4e9321b2e4c36ebc2453a5e0e9cc1d4b166;hp=682fdb2c44a854971cfcdff633124570a859be71;hpb=b5317e7fe25279508049b334a23d28a9e2c9a094;p=citadel.git diff --git a/citadel/modules/xmpp/serv_xmpp.c b/citadel/modules/xmpp/serv_xmpp.c index 682fdb2c4..bab30ab7f 100644 --- a/citadel/modules/xmpp/serv_xmpp.c +++ b/citadel/modules/xmpp/serv_xmpp.c @@ -476,22 +476,22 @@ void xmpp_greeting(void) { /* * Main command loop for XMPP sessions. + * Right now we're reading one byte at a time and sending it to the XML parser. + * There's got to be a better way to do this. */ void xmpp_command_loop(void) { - char cmdbuf[16]; + char cmdbuf[2]; int retval; time(&CC->lastcmd); - memset(cmdbuf, 0, sizeof cmdbuf); /* Clear it, just in case */ + memset(cmdbuf, 0, sizeof cmdbuf); retval = client_read(cmdbuf, 1); if (retval != 1) { - CtdlLogPrintf(CTDL_ERR, "Client disconnected: ending session.\r\n"); + CtdlLogPrintf(CTDL_ERR, "Client disconnected: ending session.\n"); CC->kill_me = 1; return; } - /* FIXME ... this is woefully inefficient. */ - XML_Parse(XMPP->xp, cmdbuf, 1, 0); } @@ -532,7 +532,8 @@ CTDL_MODULE_INIT(xmpp) xmpp_greeting, xmpp_command_loop, xmpp_async_loop, - CitadelServiceXMPP); + CitadelServiceXMPP + ); CtdlRegisterSessionHook(xmpp_cleanup_function, EVT_STOP); CtdlRegisterSessionHook(xmpp_login_hook, EVT_LOGIN); CtdlRegisterSessionHook(xmpp_logout_hook, EVT_LOGOUT);