diff options
author | Miklos Vajna <vmiklos@frugalware.org> | 2009-01-07 02:35:44 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@frugalware.org> | 2009-01-07 02:35:44 +0100 |
commit | 607f5e3ad13d20fe4788c0d5bda94578a033ccab (patch) | |
tree | ca89f45f6dcecf6f1a4a84c6255c35a32cd9cd36 | |
parent | 2709f4c2bcc1425e224e1dd917923a40b084746d (diff) |
introduce skype_parse_profile()/skype_parse_ping()/skype_parse_chats()
with this checkpatch now reports only 55 ws errors, compared to 182
-rw-r--r-- | skype/skype.c | 54 |
1 files changed, 34 insertions, 20 deletions
diff --git a/skype/skype.c b/skype/skype.c index 9b1ebb58..4df800d8 100644 --- a/skype/skype.c +++ b/skype/skype.c @@ -789,6 +789,33 @@ static void skype_parse_password(struct im_connection *ic, char *line) } } +static void skype_parse_profile(struct im_connection *ic, char *line) +{ + imcb_log(ic, "SkypeOut balance value is '%s'.", line+21); +} + +static void skype_parse_ping(struct im_connection *ic, char *line) +{ + skype_write(ic, "PONG\n"); +} + +static void skype_parse_chats(struct im_connection *ic, char *line) +{ + char buf[1024]; + char **i; + char **chats = g_strsplit(line + 6, ", ", 0); + + i = chats; + while (*i) { + g_snprintf(buf, 1024, "GET CHAT %s STATUS\n", *i); + skype_write(ic, buf); + g_snprintf(buf, 1024, "GET CHAT %s ACTIVEMEMBERS\n", *i); + skype_write(ic, buf); + i++; + } + g_strfreev(chats); +} + static gboolean skype_read_callback(gpointer data, gint fd, b_input_condition cond) { @@ -824,27 +851,14 @@ static gboolean skype_read_callback(gpointer data, gint fd, skype_parse_filetransfer(ic, line); else if (!strncmp(line, "CHAT ", 5)) skype_parse_chat(ic, line); - else if (!strncmp(line, "PASSWORD ", 9)) { + else if (!strncmp(line, "PASSWORD ", 9)) skype_parse_password(ic, line); - } else if (!strncmp(line, "PROFILE PSTN_BALANCE ", 21)) - imcb_log(ic, "SkypeOut balance value is '%s'.", line+21); - else if (!strncmp(line, "PING", 4)) { - g_snprintf(buf, 1024, "PONG\n"); - skype_write(ic, buf); - } else if (!strncmp(line, "CHATS ", 6)) { - char **i; - char **chats = g_strsplit(line + 6, ", ", 0); - - i = chats; - while (*i) { - g_snprintf(buf, 1024, "GET CHAT %s STATUS\n", *i); - skype_write(ic, buf); - g_snprintf(buf, 1024, "GET CHAT %s ACTIVEMEMBERS\n", *i); - skype_write(ic, buf); - i++; - } - g_strfreev(chats); - } + else if (!strncmp(line, "PROFILE PSTN_BALANCE ", 21)) + skype_parse_profile(ic, line); + else if (!strncmp(line, "PING", 4)) + skype_parse_ping(ic, line); + else if (!strncmp(line, "CHATS ", 6)) + skype_parse_chats(ic, line); lineptr++; } g_strfreev(lines); |