-fixing persistence cleanup
authorChristian Grothoff <christian@grothoff.org>
Thu, 26 Apr 2012 11:21:16 +0000 (11:21 +0000)
committerChristian Grothoff <christian@grothoff.org>
Thu, 26 Apr 2012 11:21:16 +0000 (11:21 +0000)
src/fs/fs_api.c
src/fs/fs_download.c

index e2a3b6019ffe362d585a5c58774af86798072748..651c174f283692380ff1f1228a0e8cdba48c1b97 100644 (file)
@@ -1707,9 +1707,8 @@ get_download_sync_filename (struct GNUNET_FS_DownloadContext *dc,
 
   if (dc->parent == NULL)
     return get_serialization_file_name (dc->h,
-                                        (dc->search !=
-                                         NULL) ?
-                                        GNUNET_FS_SYNC_PATH_CHILD_DOWNLOAD :
+                                       (dc->search != NULL) ?
+                                       GNUNET_FS_SYNC_PATH_CHILD_DOWNLOAD :
                                         GNUNET_FS_SYNC_PATH_MASTER_DOWNLOAD,
                                         uni);
   if (dc->parent->serialization == NULL)
index e93db4cfde356354fc609a658c8c6e3efc24a750..43cd5264bce7123cf11016e6e3a86adb5659a1f9 100644 (file)
@@ -2229,6 +2229,7 @@ GNUNET_FS_download_stop (struct GNUNET_FS_DownloadContext *dc, int do_delete)
 {
   struct GNUNET_FS_ProgressInfo pi;
   int have_children;
+  int search_was_null;
 
   if (dc->top != NULL)
     GNUNET_FS_end_top (dc->h, dc->top);
@@ -2237,6 +2238,7 @@ GNUNET_FS_download_stop (struct GNUNET_FS_DownloadContext *dc, int do_delete)
     GNUNET_SCHEDULER_cancel (dc->task);
     dc->task = GNUNET_SCHEDULER_NO_TASK;
   }
+  search_was_null = (dc->search == NULL);
   if (dc->search != NULL)
   {
     dc->search->download = NULL;
@@ -2262,14 +2264,12 @@ GNUNET_FS_download_stop (struct GNUNET_FS_DownloadContext *dc, int do_delete)
   if (dc->serialization != NULL)
     GNUNET_FS_remove_sync_file_ (dc->h,
                                  ((dc->parent != NULL) ||
-                                  (dc->search !=
-                                   NULL)) ? GNUNET_FS_SYNC_PATH_CHILD_DOWNLOAD :
+                                  (! search_was_null)) ? GNUNET_FS_SYNC_PATH_CHILD_DOWNLOAD :
                                  GNUNET_FS_SYNC_PATH_MASTER_DOWNLOAD,
                                  dc->serialization);
   if ((GNUNET_YES == have_children) && (dc->parent == NULL))
     GNUNET_FS_remove_sync_dir_ (dc->h,
-                                (dc->search !=
-                                 NULL) ? GNUNET_FS_SYNC_PATH_CHILD_DOWNLOAD :
+                                (! search_was_null) ? GNUNET_FS_SYNC_PATH_CHILD_DOWNLOAD :
                                 GNUNET_FS_SYNC_PATH_MASTER_DOWNLOAD,
                                 dc->serialization);
   pi.status = GNUNET_FS_STATUS_DOWNLOAD_STOPPED;