# HG changeset patch # User Alexis Hildebrandt # Date 1160504106 -7200 # Node ID 5b01de4ac5e1f69fe9c4d6244a1fadcdebfd8731 # Parent d530e5fb506a3648e0513a9b64f1fab7457fe461 Cosmetic changes diff -r d530e5fb506a -r 5b01de4ac5e1 mcabber/src/commands.c --- 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); } diff -r d530e5fb506a -r 5b01de4ac5e1 mcabber/src/jab_iq.c --- 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); diff -r d530e5fb506a -r 5b01de4ac5e1 mcabber/src/jabglue.c --- 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 diff -r d530e5fb506a -r 5b01de4ac5e1 mcabber/src/roster.c --- 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); diff -r d530e5fb506a -r 5b01de4ac5e1 mcabber/src/utils.c --- 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 #include +#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; } diff -r d530e5fb506a -r 5b01de4ac5e1 mcabber/src/utils.h --- 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);