~prateek.karandikar/ubuntu/precise/pidgin/add_quicklist

« back to all changes in this revision

Viewing changes to libpurple/protocols/msn/slpcall.c

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2011-01-03 16:36:53 UTC
  • mfrom: (2.3.15 sid)
  • Revision ID: james.westby@ubuntu.com-20110103163653-a2jye0x43v30p4a1
Tags: 1:2.7.9-1ubuntu1
Resynchronize on Debian

Show diffs side-by-side

added added

removed removed

Lines of Context:
512
512
                PurpleAccount *account;
513
513
                PurpleXfer *xfer;
514
514
                MsnFileContext *header;
 
515
                char *buf;
515
516
                gsize bin_len;
516
517
                guint32 file_size;
517
518
                char *file_name;
526
527
                xfer = purple_xfer_new(account, PURPLE_XFER_RECEIVE,
527
528
                                                         slpcall->slplink->remote_user);
528
529
 
529
 
                header = (MsnFileContext *)purple_base64_decode(context, &bin_len);
530
 
                if (header != NULL && bin_len >= sizeof(MsnFileContext) - 1 &&
531
 
                        (header->version == 2 ||
532
 
                         (header->version == 3 && header->length == sizeof(MsnFileContext) + 63))) {
533
 
                        file_size = GUINT64_FROM_LE(header->file_size);
 
530
                buf = (char *)purple_base64_decode(context, &bin_len);
 
531
                header = msn_file_context_from_wire(buf, bin_len);
 
532
 
 
533
                if (header != NULL) {
 
534
                        file_size = header->file_size;
534
535
 
535
536
                        file_name = g_convert((const gchar *)&header->file_name,
536
537
                                              MAX_FILE_NAME_LEN * 2,
553
554
 
554
555
                        xfer->data = slpcall;
555
556
 
556
 
                        if (header->type == 0 && bin_len >= sizeof(MsnFileContext)) {
557
 
                                purple_xfer_set_thumbnail(xfer, &header->preview,
558
 
                                                          bin_len - sizeof(MsnFileContext),
 
557
                        if (header->preview) {
 
558
                                purple_xfer_set_thumbnail(xfer, header->preview,
 
559
                                                          header->preview_len,
559
560
                                                                          "image/png");
 
561
                                g_free(header->preview);
560
562
                        }
561
563
 
562
564
                        purple_xfer_request(xfer);
563
565
                }
564
566
                g_free(header);
 
567
                g_free(buf);
565
568
 
566
569
                accepted = TRUE;
567
570
 
1061
1064
        body = slpmsg->buffer;
1062
1065
        body_len = slpmsg->header->offset;
1063
1066
 
1064
 
        if (slpmsg->header->flags == P2P_NO_FLAG || slpmsg->header->flags == P2P_WML2009_COMP)
 
1067
        if (slpmsg->header->flags == P2P_NO_FLAG || slpmsg->header->flags == P2P_WLM2009_COMP)
1065
1068
        {
1066
1069
                char *body_str;
1067
1070