Mercurial > pidgin.yaz
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);