Mercurial > pidgin.yaz
changeset 30512:85d6355daa8f
restore file name encoding conversion
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Thu, 27 May 2010 07:50:06 +0900 |
parents | 9623db527d1e |
children | acdee7461c9f |
files | libpurple/protocols/jabber/si.c |
diffstat | 1 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/si.c Tue May 25 22:21:47 2010 +0900 +++ b/libpurple/protocols/jabber/si.c Thu May 27 07:50:06 2010 +0900 @@ -860,7 +860,7 @@ purple_network_get_all_local_system_ips(); const char *public_ip; gboolean has_public_ip = FALSE; - + jsx->local_streamhost_fd = sock; jid = g_strdup_printf("%s@%s/%s", jsx->js->user->node, @@ -1250,14 +1250,23 @@ JabberIq *iq; xmlnode *si, *file, *feature, *x, *field, *option, *value; char buf[32]; + gchar *f1 = NULL, *f2 = NULL; + gsize dummy; #if ENABLE_FT_THUMBNAILS gconstpointer thumb; gsize thumb_size; purple_xfer_prepare_thumbnail(xfer, "jpeg,png"); #endif - xfer->filename = g_path_get_basename(xfer->local_filename); - + /* yaz */ + f1 = g_filename_display_basename(xfer->local_filename); + f2 = botch_utf(f1, strlen(f1), &dummy); + if(f2){ + purple_xfer_set_filename(xfer, (char *)f2); + } + g_free(f1); f1 = NULL; + g_free(f2); f2 = NULL; + iq = jabber_iq_new(jsx->js, JABBER_IQ_SET); xmlnode_set_attrib(iq->node, "to", xfer->who); si = xmlnode_new_child(iq->node, "si"); @@ -1284,14 +1293,14 @@ mimetype, TRUE, jsx->js); xmlnode *thumbnail = xmlnode_new_child(file, "thumbnail"); xmlnode_set_namespace(thumbnail, NS_THUMBS); - xmlnode_set_attrib(thumbnail, "cid", + xmlnode_set_attrib(thumbnail, "cid", jabber_data_get_cid(thumbnail_data)); xmlnode_set_attrib(thumbnail, "mime-type", mimetype); /* cache data */ jabber_data_associate_local(thumbnail_data, NULL); } #endif - + feature = xmlnode_new_child(si, "feature"); xmlnode_set_namespace(feature, "http://jabber.org/protocol/feature-neg"); x = xmlnode_new_child(feature, "x"); @@ -1774,7 +1783,7 @@ purple_xfer_set_request_denied_fnc(xfer, jabber_si_xfer_request_denied); purple_xfer_set_cancel_recv_fnc(xfer, jabber_si_xfer_cancel_recv); purple_xfer_set_end_fnc(xfer, jabber_si_xfer_end); - + js->file_transfers = g_list_append(js->file_transfers, xfer); #if ENABLE_FT_THUMBNAILS