# HG changeset patch # User Elliott Sales de Andrade # Date 1228969214 0 # Node ID 662fdd4836aa2e7c5d85b9a0b92698d853c9249a # Parent 52c5daee05c0df8fb6e7673ab178b379712d75f8 Replace strrchr(..., '/')+1 with g_path_get_basename in QQ plugin. Didn't someone fix this already? diff -r 52c5daee05c0 -r 662fdd4836aa libpurple/protocols/qq/send_file.c --- a/libpurple/protocols/qq/send_file.c Thu Dec 11 04:07:29 2008 +0000 +++ b/libpurple/protocols/qq/send_file.c Thu Dec 11 04:20:14 2008 +0000 @@ -612,7 +612,8 @@ PurpleConnection *gc; PurpleAccount *account; guint32 to_uid; - gchar *filename, *filename_without_path; + const gchar *filename; + gchar *base_filename; g_return_if_fail (xfer != NULL); account = purple_xfer_get_account(xfer); @@ -621,13 +622,14 @@ to_uid = purple_name_to_uid (xfer->who); g_return_if_fail (to_uid != 0); - filename = (gchar *) purple_xfer_get_local_filename (xfer); + filename = purple_xfer_get_local_filename (xfer); g_return_if_fail (filename != NULL); - filename_without_path = strrchr (filename, '/') + 1; + base_filename = g_path_get_basename(filename); - _qq_send_packet_file_request (gc, to_uid, filename_without_path, + _qq_send_packet_file_request (gc, to_uid, base_filename, purple_xfer_get_size(xfer)); + g_free(base_filename); } /* cancel the transfer of receiving files */ @@ -696,7 +698,7 @@ return; } */ - filename = strrchr(purple_xfer_get_local_filename(qd->xfer), '/') + 1; + filename = g_path_get_basename(purple_xfer_get_local_filename(qd->xfer)); msg = g_strdup_printf(_("%d has declined the file %s"), sender_uid, filename); @@ -704,7 +706,8 @@ purple_xfer_request_denied(qd->xfer); qd->xfer = NULL; - g_free (msg); + g_free(filename); + g_free(msg); } /* process cancel im for file transfer request */ @@ -725,7 +728,7 @@ return; } */ - filename = strrchr(purple_xfer_get_local_filename(qd->xfer), '/') + 1; + filename = g_path_get_basename(purple_xfer_get_local_filename(qd->xfer)); msg = g_strdup_printf (_("%d canceled the transfer of %s"), sender_uid, filename); @@ -734,7 +737,8 @@ purple_xfer_cancel_remote(qd->xfer); qd->xfer = NULL; - g_free (msg); + g_free(filename); + g_free(msg); } /* process accept im for file transfer request */