From 3f4c9e9d2fabb6026979889939cf1641346d85fa Mon Sep 17 00:00:00 2001 From: Jordan Lee Date: Tue, 22 Jan 2013 05:58:31 +0000 Subject: [PATCH] (libT) #1220 'change file and folder names': handle .part file suffixs --- libtransmission/torrent.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/libtransmission/torrent.c b/libtransmission/torrent.c index eb62029a5..47016914e 100644 --- a/libtransmission/torrent.c +++ b/libtransmission/torrent.c @@ -3355,19 +3355,28 @@ renamePath (tr_torrent * tor, base = tor->downloadDir; src = tr_buildPath (base, oldpath, NULL); - /*fprintf (stderr, "%s:%d src \"%s\"\n", __FILE__, __LINE__, src);*/ + if (!tr_fileExists (src, NULL)) /* check for it as a partial */ + { + char * tmp = tr_strdup_printf ("%s.part", src); + tr_free (src); + src = tmp; + } if (tr_fileExists (src, NULL)) { int tmp; bool tgt_exists; char * parent = tr_dirname (src); - char * tgt = tr_buildPath (parent, newname, NULL); + char * tgt; + + if (tr_str_has_suffix (src, ".part")) + tgt = tr_strdup_printf ("%s" TR_PATH_DELIMITER_STR "%s.part", parent, newname); + else + tgt = tr_buildPath (parent, newname, NULL); tmp = errno; tgt_exists = tr_fileExists (tgt, NULL); errno = tmp; - /*fprintf (stderr, "%s:%d tgt \"%s\"\n", __FILE__, __LINE__, tgt);*/ if (!tgt_exists) { @@ -3375,7 +3384,6 @@ renamePath (tr_torrent * tor, tmp = errno; rv = rename (src, tgt); - /*fprintf (stderr, "%s:%d rv \"%d\"\n", __FILE__, __LINE__, rv);*/ if (rv != 0) error = errno; errno = tmp; -- 2.40.0