diff libpurple/protocols/oscar/oft.c @ 27754:754a82f1371b

half baked fixes for file transfer.
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 17 Dec 2007 08:20:42 +0000
parents 98604b4bfa3b
children 0f3a131d23da
line wrap: on
line diff
--- a/libpurple/protocols/oscar/oft.c	Mon Dec 17 07:48:27 2007 +0000
+++ b/libpurple/protocols/oscar/oft.c	Mon Dec 17 08:20:42 2007 +0000
@@ -642,6 +642,8 @@
 {
 	PeerConnection *conn;
 	size_t size;
+    gchar *f1 = NULL, *f2 = NULL;
+    size_t dummy;
 
 	conn = xfer->data;
 	conn->flags |= PEER_CONNECTION_FLAG_APPROVED;
@@ -679,15 +681,16 @@
 	strncpy((gchar *)conn->xferdata.idstring, "Cool FileXfer", 31);
 	conn->xferdata.modtime = 0;
 	conn->xferdata.cretime = 0;
-	{ /* yaz */
-		guchar *tmp = NULL;
-		size_t dummy;
-		tmp = botch_utf(xfer->filename, strlen(xfer->filename), &dummy);
-		if(tmp){
-			purple_xfer_set_filename(xfer, (char *)tmp);
-			g_free(tmp);
-		}
-	}
+
+    /* 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);