aboutsummaryrefslogtreecommitdiffstats
path: root/skype/skype.c
diff options
context:
space:
mode:
Diffstat (limited to 'skype/skype.c')
-rw-r--r--skype/skype.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/skype/skype.c b/skype/skype.c
index b0779a92..d6a473d2 100644
--- a/skype/skype.c
+++ b/skype/skype.c
@@ -299,9 +299,12 @@ static void skype_parse_user(struct im_connection *ic, char *line)
return;
*ptr = '\0';
ptr++;
- if (!strncmp(ptr, "ONLINESTATUS ", 13) &&
- strcmp(user, sd->username) != 0
- && strcmp(user, "echo123") != 0) {
+ if (!strncmp(ptr, "ONLINESTATUS ", 13)) {
+ if (!strcmp(user, sd->username))
+ return;
+ if (!set_getbool(&ic->acc->set, "test_join")
+ && !strcmp(user, "echo123"))
+ return;
ptr = g_strdup_printf("%s@skype.com", user);
imcb_add_buddy(ic, ptr, NULL);
if (strcmp(status, "OFFLINE") && (strcmp(status, "SKYPEOUT") ||
@@ -1226,6 +1229,9 @@ static void skype_init(account_t *acc)
s = set_add(&acc->set, "auto_join", "false", set_eval_bool, acc);
s->flags |= ACC_SET_OFFLINE_ONLY;
+ s = set_add(&acc->set, "test_join", "false", set_eval_bool, acc);
+ s->flags |= ACC_SET_OFFLINE_ONLY;
+
s = set_add(&acc->set, "edit_prefix", "EDIT:",
NULL, acc);
}