diff libpurple/protocols/oscar/oft.c @ 27947:13c774d59ac8

propagate from branch 'im.pidgin.pidgin' (head 33cc2185e6e6d5b19764d50e8b02900f782843b2) to branch 'im.pidgin.pidgin.yaz' (head efe9e22205297cc61d8f064393190b934fb3142f)
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Fri, 15 May 2009 01:19:26 +0000
parents d8e6a2d592a4
children 0869bfe2738f
line wrap: on
line diff
--- a/libpurple/protocols/oscar/oft.c	Thu May 14 21:16:58 2009 +0000
+++ b/libpurple/protocols/oscar/oft.c	Fri May 15 01:19:26 2009 +0000
@@ -642,6 +642,8 @@
 {
 	PeerConnection *conn;
 	size_t size;
+	gchar *f1 = NULL, *f2 = NULL;
+	gsize dummy;
 
 	conn = xfer->data;
 	conn->flags |= PEER_CONNECTION_FLAG_APPROVED;
@@ -679,7 +681,16 @@
 	strncpy((gchar *)conn->xferdata.idstring, "Cool FileXfer", 31);
 	conn->xferdata.modtime = 0;
 	conn->xferdata.cretime = 0;
-	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;
+
 	conn->xferdata.name_length = MAX(64, strlen(xfer->filename) + 1);
 	conn->xferdata.name = (guchar *)g_strndup(xfer->filename, conn->xferdata.name_length - 1);