Mercurial > pidgin.yaz
comparison libpurple/protocols/oscar/oft.c @ 32692:0f94ec89f0bc
merged from im.pidgin.pidgin
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 26 Sep 2011 14:57:21 +0900 |
parents | ac6353ffa129 b6defcebfe4b |
children | 4a34689eeb33 |
comparison
equal
deleted
inserted
replaced
32438:55e678325bda | 32692:0f94ec89f0bc |
---|---|
360 | 360 |
361 conn = data; | 361 conn = data; |
362 | 362 |
363 if (purple_circ_buffer_get_max_read(conn->buffer_outgoing) == 0) | 363 if (purple_circ_buffer_get_max_read(conn->buffer_outgoing) == 0) |
364 { | 364 { |
365 int fd = conn->fd; | |
365 conn->sending_data_timer = 0; | 366 conn->sending_data_timer = 0; |
366 conn->xfer->fd = conn->fd; | |
367 conn->fd = -1; | 367 conn->fd = -1; |
368 purple_xfer_start(conn->xfer, conn->xfer->fd, NULL, 0); | 368 purple_xfer_start(conn->xfer, fd, NULL, 0); |
369 return FALSE; | 369 return FALSE; |
370 } | 370 } |
371 | 371 |
372 return TRUE; | 372 return TRUE; |
373 } | 373 } |
665 gchar *tmp, *size1, *size2; | 665 gchar *tmp, *size1, *size2; |
666 size1 = purple_str_size_to_units(size); | 666 size1 = purple_str_size_to_units(size); |
667 size2 = purple_str_size_to_units(G_MAXUINT32); | 667 size2 = purple_str_size_to_units(G_MAXUINT32); |
668 tmp = g_strdup_printf(_("File %s is %s, which is larger than " | 668 tmp = g_strdup_printf(_("File %s is %s, which is larger than " |
669 "the maximum size of %s."), | 669 "the maximum size of %s."), |
670 xfer->local_filename, size1, size2); | 670 purple_xfer_get_local_filename(xfer), size1, size2); |
671 purple_xfer_error(purple_xfer_get_type(xfer), | 671 purple_xfer_error(purple_xfer_get_type(xfer), |
672 purple_xfer_get_account(xfer), xfer->who, tmp); | 672 purple_xfer_get_account(xfer), purple_xfer_get_remote_user(xfer), tmp); |
673 g_free(size1); | 673 g_free(size1); |
674 g_free(size2); | 674 g_free(size2); |
675 g_free(tmp); | 675 g_free(tmp); |
676 peer_connection_destroy(conn, OSCAR_DISCONNECT_LOCAL_CLOSED, NULL); | 676 peer_connection_destroy(conn, OSCAR_DISCONNECT_LOCAL_CLOSED, NULL); |
677 return; | 677 return; |
691 strncpy((gchar *)conn->xferdata.idstring, "Cool FileXfer", 31); | 691 strncpy((gchar *)conn->xferdata.idstring, "Cool FileXfer", 31); |
692 conn->xferdata.modtime = 0; | 692 conn->xferdata.modtime = 0; |
693 conn->xferdata.cretime = 0; | 693 conn->xferdata.cretime = 0; |
694 | 694 |
695 /* yaz */ | 695 /* yaz */ |
696 f1 = g_filename_display_basename(xfer->local_filename); | 696 f1 = g_filename_display_basename(purple_xfer_get_local_filename(xfer)); |
697 f2 = botch_utf(f1, strlen(f1), &dummy); | 697 f2 = botch_utf(f1, strlen(f1), &dummy); |
698 if(f2){ | 698 if(f2){ |
699 purple_xfer_set_filename(xfer, (char *)f2); | 699 purple_xfer_set_filename(xfer, (char *)f2); |
700 } | 700 } |
701 else { | |
702 purple_xfer_set_filename(xfer, (char *)f1); | |
703 } | |
701 g_free(f1); f1 = NULL; | 704 g_free(f1); f1 = NULL; |
702 g_free(f2); f2 = NULL; | 705 g_free(f2); f2 = NULL; |
703 | 706 |
704 conn->xferdata.name_length = MAX(64, strlen(xfer->filename) + 1); | 707 conn->xferdata.name_length = MAX(64, strlen(purple_xfer_get_filename(xfer)) + 1); |
705 conn->xferdata.name = (guchar *)g_strndup(xfer->filename, conn->xferdata.name_length - 1); | 708 conn->xferdata.name = (guchar *)g_strndup(purple_xfer_get_filename(xfer), conn->xferdata.name_length - 1); |
706 | 709 |
707 peer_oft_checksum_file(conn, xfer, | 710 peer_oft_checksum_file(conn, xfer, |
708 peer_oft_checksum_calculated_cb, G_MAXUINT32); | 711 peer_oft_checksum_calculated_cb, G_MAXUINT32); |
709 } | 712 } |
710 | 713 |