Changeset f8674db for skype


Ignore:
Timestamp:
2007-10-17T00:46:38Z (17 years ago)
Author:
Miklos Vajna <vmiklos@…>
Branches:
master
Children:
a7af5f0
Parents:
09e2a69
Message:

show topic if it was set before join

File:
1 edited

Legend:

Unmodified
Added
Removed
  • skype/skype.c

    r09e2a69 rf8674db  
    7676         * not (default). */
    7777        char* groupchat_with;
     78        /* The user who invited us to the chat. */
     79        char* adder;
    7880};
    7981
     
    438440                                        {
    439441                                                imcb_chat_new( ic, id );
     442                                                g_snprintf(buf, 1024, "GET CHAT %s ADDER\n", id);
     443                                                skype_write(ic, buf, strlen(buf));
     444                                                g_snprintf(buf, 1024, "GET CHAT %s TOPIC\n", id);
     445                                                skype_write(ic, buf, strlen(buf));
    440446                                        }
    441447                                        else if(!strcmp(info, "STATUS DIALOG") && sd->groupchat_with)
     
    455461                                                g_free(sd->groupchat_with);
    456462                                                sd->groupchat_with = NULL;
     463                                                g_snprintf(buf, 1024, "GET CHAT %s ADDER\n", id);
     464                                                skype_write(ic, buf, strlen(buf));
     465                                                g_snprintf(buf, 1024, "GET CHAT %s TOPIC\n", id);
     466                                                skype_write(ic, buf, strlen(buf));
    457467                                        }
    458468                                        else if(!strcmp(info, "STATUS UNSUBSCRIBED"))
     
    462472                                                        gc->data = (void*)FALSE;
    463473                                        }
     474                                        else if(!strncmp(info, "ADDER ", 6))
     475                                        {
     476                                                info += 6;
     477                                                g_free(sd->adder);
     478                                                sd->adder = g_strdup_printf("%s@skype.com", info);
     479                                        }
    464480                                        else if(!strncmp(info, "TOPIC ", 6))
    465481                                        {
    466482                                                info += 6;
    467483                                                struct groupchat *gc = skype_chat_by_name(ic, id);
    468                                                 if(gc)
    469                                                         imcb_chat_topic(gc, NULL, info);
     484                                                if(gc && sd->adder)
     485                                                {
     486                                                        imcb_chat_topic(gc, sd->adder, info);
     487                                                        g_free(sd->adder);
     488                                                        sd->adder = NULL;
     489                                                }
    470490                                        }
    471491                                        else if(!strncmp(info, "ACTIVEMEMBERS ", 14))
Note: See TracChangeset for help on using the changeset viewer.