Changeset 078b0b9 for skype


Ignore:
Timestamp:
2009-01-07T01:10:13Z (15 years ago)
Author:
Miklos Vajna <vmiklos@…>
Branches:
master
Children:
8bbe52a
Parents:
359f4d9
Message:

introduce skype_parse_users()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • skype/skype.c

    r359f4d9 r078b0b9  
    274274}
    275275
     276static void skype_parse_users(struct im_connection *ic, char *line)
     277{
     278        char **i, **nicks, *ptr;
     279
     280        nicks = g_strsplit(line + 6, ", ", 0);
     281        i = nicks;
     282        while (*i) {
     283                ptr = g_strdup_printf("GET USER %s ONLINESTATUS\n", *i);
     284                skype_write(ic, ptr);
     285                g_free(ptr);
     286                i++;
     287        }
     288        g_strfreev(nicks);
     289}
     290
    276291static gboolean skype_read_callback(gpointer data, gint fd,
    277292                                    b_input_condition cond)
     
    297312                        if (set_getbool(&ic->acc->set, "skypeconsole_receive"))
    298313                                imcb_buddy_msg(ic, "skypeconsole", line, 0, 0);
    299                         if (!strncmp(line, "USERS ", 6)) {
    300                                 char **i;
    301                                 char **nicks;
    302 
    303                                 nicks = g_strsplit(line + 6, ", ", 0);
    304                                 i = nicks;
    305                                 while (*i) {
    306                                         g_snprintf(buf, 1024, "GET USER %s ONLINESTATUS\n", *i);
    307                                         skype_write(ic, buf);
    308                                         i++;
    309                                 }
    310                                 g_strfreev(nicks);
    311                         } else if (!strncmp(line, "USER ", 5)) {
     314                        if (!strncmp(line, "USERS ", 6))
     315                                skype_parse_users(ic, line);
     316                        else if (!strncmp(line, "USER ", 5)) {
    312317                                int flags = 0;
    313318                                char *status = strrchr(line, ' ');
Note: See TracChangeset for help on using the changeset viewer.