Mercurial > pidgin.yaz
comparison libpurple/protocols/msn/slpcall.c @ 32755:867104ed576a
Update MSN for 64-bit file transfers.
Refs #8477.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Sun, 16 Oct 2011 07:01:52 +0000 |
parents | 13b5d6eb099d |
children |
comparison
equal
deleted
inserted
replaced
32754:e164f7815b52 | 32755:867104ed576a |
---|---|
510 PurpleAccount *account; | 510 PurpleAccount *account; |
511 PurpleXfer *xfer; | 511 PurpleXfer *xfer; |
512 MsnFileContext *file_context; | 512 MsnFileContext *file_context; |
513 char *buf; | 513 char *buf; |
514 gsize bin_len; | 514 gsize bin_len; |
515 guint32 file_size; | |
516 char *file_name; | 515 char *file_name; |
517 | 516 |
518 account = slpcall->slplink->session->account; | 517 account = slpcall->slplink->session->account; |
519 | 518 |
520 slpcall->end_cb = msn_xfer_end_cb; | 519 slpcall->end_cb = msn_xfer_end_cb; |
527 | 526 |
528 buf = (char *)purple_base64_decode(context, &bin_len); | 527 buf = (char *)purple_base64_decode(context, &bin_len); |
529 file_context = msn_file_context_from_wire(buf, bin_len); | 528 file_context = msn_file_context_from_wire(buf, bin_len); |
530 | 529 |
531 if (file_context != NULL) { | 530 if (file_context != NULL) { |
532 file_size = file_context->file_size; | |
533 | |
534 file_name = g_convert((const gchar *)&file_context->file_name, | 531 file_name = g_convert((const gchar *)&file_context->file_name, |
535 MAX_FILE_NAME_LEN * 2, | 532 MAX_FILE_NAME_LEN * 2, |
536 "UTF-8", "UTF-16LE", | 533 "UTF-8", "UTF-16LE", |
537 NULL, NULL, NULL); | 534 NULL, NULL, NULL); |
538 | 535 |
539 purple_xfer_set_filename(xfer, file_name ? file_name : ""); | 536 purple_xfer_set_filename(xfer, file_name ? file_name : ""); |
540 g_free(file_name); | 537 g_free(file_name); |
541 purple_xfer_set_size(xfer, file_size); | 538 purple_xfer_set_size(xfer, file_context->file_size); |
542 purple_xfer_set_init_fnc(xfer, msn_xfer_init); | 539 purple_xfer_set_init_fnc(xfer, msn_xfer_init); |
543 purple_xfer_set_request_denied_fnc(xfer, msn_xfer_cancel); | 540 purple_xfer_set_request_denied_fnc(xfer, msn_xfer_cancel); |
544 purple_xfer_set_cancel_recv_fnc(xfer, msn_xfer_cancel); | 541 purple_xfer_set_cancel_recv_fnc(xfer, msn_xfer_cancel); |
545 purple_xfer_set_read_fnc(xfer, msn_xfer_read); | 542 purple_xfer_set_read_fnc(xfer, msn_xfer_read); |
546 purple_xfer_set_write_fnc(xfer, msn_xfer_write); | 543 purple_xfer_set_write_fnc(xfer, msn_xfer_write); |