--- a/mcabber/src/commands.c Tue Oct 10 19:43:32 2006 +0200
+++ b/mcabber/src/commands.c Tue Oct 10 20:15:06 2006 +0200
@@ -639,7 +639,7 @@
} else {
// Convert jid to lowercase
char *p = jid;
- for ( ; *p && *p != '/'; p++)
+ for ( ; *p && *p != JID_RESOURCE_SEPARATOR; p++)
*p = tolower(*p);
jid = jid_utf8 = to_utf8(jid);
}
@@ -808,7 +808,7 @@
}
// We must use the bare jid in hk_message_out()
- rp = strchr(jid, '/');
+ rp = strchr(jid, JID_RESOURCE_SEPARATOR);
if (rp) bare_jid = g_strndup(jid, rp - jid);
else bare_jid = (char*)jid;
@@ -1606,10 +1606,10 @@
nick = (char*)settings_opt_get("nickname");
if (!nick) {
nick = (char*)settings_opt_get("username");
- if (nick && (strchr(nick, '@') > nick)) {
+ if (nick && (strchr(nick, JID_DOMAIN_SEPARATOR) > nick)) {
char *p;
nick = tmpnick = g_strdup(nick);
- p = strchr(nick, '@');
+ p = strchr(nick, JID_DOMAIN_SEPARATOR);
*p = 0;
}
}
@@ -2249,7 +2249,7 @@
} else {
// Convert jid to lowercase
char *p;
- for (p = jid; *p && *p != '/'; p++)
+ for (p = jid; *p && *p != JID_RESOURCE_SEPARATOR; p++)
*p = tolower(*p);
jid = jid_utf8 = to_utf8(jid);
}
--- a/mcabber/src/jab_iq.c Tue Oct 10 19:43:32 2006 +0200
+++ b/mcabber/src/jab_iq.c Tue Oct 10 20:15:06 2006 +0200
@@ -209,8 +209,9 @@
if (!name)
name = cleanalias;
- // Tricky... :-\ My guess is that if there is no '@', this is an agent
- if (strchr(cleanalias, '@'))
+ // Tricky... :-\ My guess is that if there is no JID_DOMAIN_SEPARATOR,
+ // this is an agent.
+ if (strchr(cleanalias, JID_DOMAIN_SEPARATOR))
roster_type = ROSTER_TYPE_USER;
else
roster_type = ROSTER_TYPE_AGENT;
@@ -253,7 +254,7 @@
scr_LogPrint(LPRINT_LOGNORM, "%s", buf);
// bjid should now really be the "bare JID", let's strip the resource
- p = strchr(bjid, '/');
+ p = strchr(bjid, JID_RESOURCE_SEPARATOR);
if (p) *p = '\0';
scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO);
@@ -329,7 +330,7 @@
scr_LogPrint(LPRINT_LOGNORM, "%s", buf);
// bjid should now really be the "bare JID", let's strip the resource
- p = strchr(bjid, '/');
+ p = strchr(bjid, JID_RESOURCE_SEPARATOR);
if (p) *p = '\0';
scr_WriteIncomingMessage(bjid, buf, 0, HBB_PREFIX_INFO);
--- a/mcabber/src/jabglue.c Tue Oct 10 19:43:32 2006 +0200
+++ b/mcabber/src/jabglue.c Tue Oct 10 20:15:06 2006 +0200
@@ -67,7 +67,7 @@
alias = g_strdup(jid);
- if ((ptr = strchr(alias, '/')) != NULL) {
+ if ((ptr = strchr(alias, JID_RESOURCE_SEPARATOR)) != NULL) {
*ptr = 0;
}
return alias;
@@ -79,11 +79,11 @@
char *jid = g_new(char, 3 +
strlen(username) + strlen(servername) + strlen(resource));
strcpy(jid, username);
- if (!strchr(jid, '@')) {
- strcat(jid, "@");
+ if (!strchr(jid, JID_DOMAIN_SEPARATOR)) {
+ strcat(jid, JID_DOMAIN_SEPARATORSTR);
strcat(jid, servername);
}
- strcat(jid, "/");
+ strcat(jid, JID_RESOURCE_SEPARATORSTR);
strcat(jid, resource);
return jid;
}
@@ -603,7 +603,7 @@
} else
return;
- if (strchr(jid, '/')) {
+ if (strchr(jid, JID_RESOURCE_SEPARATOR)) {
// This is a full JID
(*request_fn)(jid);
scr_LogPrint(LPRINT_NORMAL, "Sent %s request to <%s>", strreqtype, jid);
@@ -826,7 +826,7 @@
jid = jidtodisp(from);
- rname = strchr(from, '/');
+ rname = strchr(from, JID_RESOURCE_SEPARATOR);
if (rname) rname++;
// Check for unexpected groupchat messages
@@ -1302,7 +1302,7 @@
time_t timestamp = 0;
xmlnode muc_packet;
- rname = strchr(from, '/');
+ rname = strchr(from, JID_RESOURCE_SEPARATOR);
if (rname) rname++;
r = jidtodisp(from);
@@ -1390,7 +1390,7 @@
gchar *subj = p;
// Get the room (s) and the nickname (r)
s = g_strdup(from);
- r = strchr(s, '/');
+ r = strchr(s, JID_RESOURCE_SEPARATOR);
if (r) *r++ = 0;
else r = s;
// Set the new topic
--- a/mcabber/src/roster.c Tue Oct 10 19:43:32 2006 +0200
+++ b/mcabber/src/roster.c Tue Oct 10 20:15:06 2006 +0200
@@ -338,7 +338,7 @@
roster_usr->name = g_strdup(name);
} else {
gchar *p, *str = g_strdup(jid);
- p = strstr(str, "/");
+ p = strchr(str, JID_RESOURCE_SEPARATOR);
if (p) *p = '\0';
roster_usr->name = g_strdup(str);
g_free(str);
--- a/mcabber/src/utils.c Tue Oct 10 19:43:32 2006 +0200
+++ b/mcabber/src/utils.c Tue Oct 10 20:15:06 2006 +0200
@@ -39,6 +39,7 @@
#include <glib.h>
#include <config.h>
+#include "utils.h"
#include "logprint.h"
static int DebugEnabled;
@@ -313,7 +314,7 @@
if (!jid) return 1;
- domain = strchr(jid, '@');
+ domain = strchr(jid, JID_DOMAIN_SEPARATOR);
/* the username is optional */
if (!domain) {
@@ -325,8 +326,8 @@
domain++;
/* check for low and invalid ascii characters in the username */
- for (str = jid; *str != '@'; str++) {
- if (*str <= 32 || *str == ':' || *str == '@' ||
+ for (str = jid; *str != JID_DOMAIN_SEPARATOR; str++) {
+ if (*str <= ' ' || *str == ':' || *str == JID_DOMAIN_SEPARATOR ||
*str == '<' || *str == '>' || *str == '\'' ||
*str == '"' || *str == '&') {
return 1;
@@ -335,7 +336,7 @@
/* the username is okay as far as we can tell without LIBIDN */
}
- resource = strchr(domain, '/');
+ resource = strchr(domain, JID_RESOURCE_SEPARATOR);
/* the resource is optional */
if (resource) {
@@ -355,7 +356,7 @@
if (domlen > 1023) return 1;
/* make sure the hostname is valid characters */
- for (str = domain; *str != '\0' && *str != '/'; str++) {
+ for (str = domain; *str != '\0' && *str != JID_RESOURCE_SEPARATOR; str++) {
if (!(isalnum(*str) || *str == '.' || *str == '-' || *str == '_'))
return 1;
}
--- a/mcabber/src/utils.h Tue Oct 10 19:43:32 2006 +0200
+++ b/mcabber/src/utils.h Tue Oct 10 20:15:06 2006 +0200
@@ -9,6 +9,11 @@
#define from_utf8(s) ((s) ? g_convert_with_fallback((s), -1, LocaleCharSet, \
"UTF-8", NULL,NULL,NULL,NULL) : NULL)
+#define JID_RESOURCE_SEPARATOR '/'
+#define JID_RESOURCE_SEPARATORSTR "/"
+#define JID_DOMAIN_SEPARATOR '@'
+#define JID_DOMAIN_SEPARATORSTR "@"
+
void ut_InitDebug(int level, const char *file);
void ut_WriteLog(unsigned int flag, const char *data);