Mercurial > pidgin
comparison libpurple/protocols/qq/send_file.c @ 25871:65cfc59858cf
propagate from branch 'im.pidgin.pidgin' (head d5bb29138cbe033bbfd8ec689203d73818765327)
to branch 'im.pidgin.pidgin.next.minor' (head 35ee8e40db640867e5b9239030cdc326e7f0a005)
author | Gary Kramlich <grim@reaperworld.com> |
---|---|
date | Sat, 13 Dec 2008 05:45:27 +0000 |
parents | e35115192593 662fdd4836aa |
children | 73c8e1964eef |
comparison
equal
deleted
inserted
replaced
25870:d9da15c9e2a1 | 25871:65cfc59858cf |
---|---|
610 _qq_xfer_init (PurpleXfer * xfer) | 610 _qq_xfer_init (PurpleXfer * xfer) |
611 { | 611 { |
612 PurpleConnection *gc; | 612 PurpleConnection *gc; |
613 PurpleAccount *account; | 613 PurpleAccount *account; |
614 guint32 to_uid; | 614 guint32 to_uid; |
615 gchar *filename, *filename_without_path; | 615 const gchar *filename; |
616 gchar *base_filename; | |
616 | 617 |
617 g_return_if_fail (xfer != NULL); | 618 g_return_if_fail (xfer != NULL); |
618 account = purple_xfer_get_account(xfer); | 619 account = purple_xfer_get_account(xfer); |
619 gc = purple_account_get_connection(account); | 620 gc = purple_account_get_connection(account); |
620 | 621 |
621 to_uid = purple_name_to_uid (xfer->who); | 622 to_uid = purple_name_to_uid (xfer->who); |
622 g_return_if_fail (to_uid != 0); | 623 g_return_if_fail (to_uid != 0); |
623 | 624 |
624 filename = (gchar *) purple_xfer_get_local_filename (xfer); | 625 filename = purple_xfer_get_local_filename (xfer); |
625 g_return_if_fail (filename != NULL); | 626 g_return_if_fail (filename != NULL); |
626 | 627 |
627 filename_without_path = strrchr (filename, '/') + 1; | 628 base_filename = g_path_get_basename(filename); |
628 | 629 |
629 _qq_send_packet_file_request (gc, to_uid, filename_without_path, | 630 _qq_send_packet_file_request (gc, to_uid, base_filename, |
630 purple_xfer_get_size(xfer)); | 631 purple_xfer_get_size(xfer)); |
632 g_free(base_filename); | |
631 } | 633 } |
632 | 634 |
633 /* cancel the transfer of receiving files */ | 635 /* cancel the transfer of receiving files */ |
634 static void _qq_xfer_cancel(PurpleXfer *xfer) | 636 static void _qq_xfer_cancel(PurpleXfer *xfer) |
635 { | 637 { |
694 purple_debug_warning("QQ", | 696 purple_debug_warning("QQ", |
695 "Received file reject message is empty\n"); | 697 "Received file reject message is empty\n"); |
696 return; | 698 return; |
697 } | 699 } |
698 */ | 700 */ |
699 filename = strrchr(purple_xfer_get_local_filename(qd->xfer), '/') + 1; | 701 filename = g_path_get_basename(purple_xfer_get_local_filename(qd->xfer)); |
700 msg = g_strdup_printf(_("%d has declined the file %s"), | 702 msg = g_strdup_printf(_("%d has declined the file %s"), |
701 sender_uid, filename); | 703 sender_uid, filename); |
702 | 704 |
703 purple_notify_warning (gc, _("File Send"), msg, NULL); | 705 purple_notify_warning (gc, _("File Send"), msg, NULL); |
704 purple_xfer_request_denied(qd->xfer); | 706 purple_xfer_request_denied(qd->xfer); |
705 qd->xfer = NULL; | 707 qd->xfer = NULL; |
706 | 708 |
707 g_free (msg); | 709 g_free(filename); |
710 g_free(msg); | |
708 } | 711 } |
709 | 712 |
710 /* process cancel im for file transfer request */ | 713 /* process cancel im for file transfer request */ |
711 void qq_process_recv_file_cancel (guint8 *data, gint data_len, | 714 void qq_process_recv_file_cancel (guint8 *data, gint data_len, |
712 guint32 sender_uid, PurpleConnection *gc) | 715 guint32 sender_uid, PurpleConnection *gc) |
723 if (*cursor >= (data + data_len - 1)) { | 726 if (*cursor >= (data + data_len - 1)) { |
724 purple_debug_warning("QQ", "Received file reject message is empty\n"); | 727 purple_debug_warning("QQ", "Received file reject message is empty\n"); |
725 return; | 728 return; |
726 } | 729 } |
727 */ | 730 */ |
728 filename = strrchr(purple_xfer_get_local_filename(qd->xfer), '/') + 1; | 731 filename = g_path_get_basename(purple_xfer_get_local_filename(qd->xfer)); |
729 msg = g_strdup_printf | 732 msg = g_strdup_printf |
730 (_("%d canceled the transfer of %s"), | 733 (_("%d canceled the transfer of %s"), |
731 sender_uid, filename); | 734 sender_uid, filename); |
732 | 735 |
733 purple_notify_warning (gc, _("File Send"), msg, NULL); | 736 purple_notify_warning (gc, _("File Send"), msg, NULL); |
734 purple_xfer_cancel_remote(qd->xfer); | 737 purple_xfer_cancel_remote(qd->xfer); |
735 qd->xfer = NULL; | 738 qd->xfer = NULL; |
736 | 739 |
737 g_free (msg); | 740 g_free(filename); |
741 g_free(msg); | |
738 } | 742 } |
739 | 743 |
740 /* process accept im for file transfer request */ | 744 /* process accept im for file transfer request */ |
741 void qq_process_recv_file_accept(guint8 *data, gint data_len, guint32 sender_uid, PurpleConnection *gc) | 745 void qq_process_recv_file_accept(guint8 *data, gint data_len, guint32 sender_uid, PurpleConnection *gc) |
742 { | 746 { |