--- a/mcabber/src/jab_iq.c Sun Dec 04 11:06:59 2005 +0100
+++ b/mcabber/src/jab_iq.c Sun Dec 04 11:51:47 2005 +0100
@@ -163,22 +163,21 @@
int iid = atoi(p);
//scr_LogPrint(LPRINT_DEBUG, "iid = %d", iid);
+ scr_LogPrint(LPRINT_DEBUG, "iid = %d sid = %d", iid, s_id); // XXX DBG XXX
+ scr_LogPrint(LPRINT_DEBUG, "jstate = %d", jstate); // XXX DBG XXX
if (iid == s_id) {
- if (!regmode) {
- if (jstate == STATE_GETAUTH) {
- if ((x = xmlnode_get_tag(xmldata, "query")) != NULL)
- if (!xmlnode_get_tag(x, "digest")) {
- jc->sid = 0;
- }
+ if (jstate == STATE_GETAUTH) {
+ if ((x = xmlnode_get_tag(xmldata, "query")) != NULL)
+ if (!xmlnode_get_tag(x, "digest")) {
+ jc->sid = 0;
+ }
- s_id = atoi(jab_auth(jc));
- jstate = STATE_SENDAUTH;
- } else {
- gotloggedin();
- jstate = STATE_LOGGED;
- }
- } else {
- regdone = TRUE;
+ scr_LogPrint(LPRINT_DEBUG, "jc = %p", jc); // XXX DBG XXX
+ s_id = atoi(jab_auth(jc));
+ jstate = STATE_SENDAUTH;
+ } else if (jstate == STATE_SENDAUTH) {
+ gotloggedin();
+ jstate = STATE_LOGGED;
}
return;
}
--- a/mcabber/src/jab_priv.h Sun Dec 04 11:06:59 2005 +0100
+++ b/mcabber/src/jab_priv.h Sun Dec 04 11:51:47 2005 +0100
@@ -7,19 +7,19 @@
#define JABBER_AGENT_GROUP "Jabber Agents"
-static enum {
+enum enum_jstate {
STATE_CONNECTING,
STATE_GETAUTH,
STATE_SENDAUTH,
STATE_LOGGED
-} jstate;
+};
struct T_presence {
enum imstatus st;
const char *msg;
};
-extern int regmode, regdone;
+extern enum enum_jstate jstate;
extern int s_id;
char *jidtodisp(const char *jid);
--- a/mcabber/src/jabglue.c Sun Dec 04 11:06:59 2005 +0100
+++ b/mcabber/src/jabglue.c Sun Dec 04 11:51:47 2005 +0100
@@ -37,7 +37,7 @@
#define JABBERSSLPORT 5223
jconn jc;
-int regmode, regdone;
+enum enum_jstate jstate;
char imstatus2char[imstatus_size+1] = {
'_', 'o', 'i', 'f', 'd', 'n', 'a', '\0'