]> granicus.if.org Git - transmission/commitdiff
(libT) #1220 'change file and folder names': handle .part file suffixs
authorJordan Lee <jordan@transmissionbt.com>
Tue, 22 Jan 2013 05:58:31 +0000 (05:58 +0000)
committerJordan Lee <jordan@transmissionbt.com>
Tue, 22 Jan 2013 05:58:31 +0000 (05:58 +0000)
libtransmission/torrent.c

index eb62029a5b1306fe2f601b7f438a7b1645f40cd5..47016914e9390d1d54e7e0eca5f1e7203990daa3 100644 (file)
@@ -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;