-fix
authorChristian Grothoff <christian@grothoff.org>
Sun, 29 Jan 2012 22:04:45 +0000 (22:04 +0000)
committerChristian Grothoff <christian@grothoff.org>
Sun, 29 Jan 2012 22:04:45 +0000 (22:04 +0000)
src/fs/fs_dirmetascan.c

index 5ffa69229e45c8cb71e888417c42ea5837660ca0..9ee69c860437e0955d4a3b3edbeea274c708f2ab 100644 (file)
@@ -231,8 +231,12 @@ process_helper_msgs (void *cls,
     ds->progress_callback (ds->progress_callback_cls, 
                           filename, GNUNET_NO,
                           GNUNET_FS_DIRSCANNER_FILE_START);
-    expand_tree (ds->pos,
-                filename, GNUNET_NO);
+    if (NULL == ds->toplevel)
+      ds->toplevel = expand_tree (ds->pos,
+                                 filename, GNUNET_NO);
+    else
+      (void) expand_tree (ds->pos,
+                         filename, GNUNET_NO);
     return;
   case GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_PROGRESS_DIRECTORY:
     if (filename[left-1] != '\0')
@@ -273,6 +277,11 @@ process_helper_msgs (void *cls,
       GNUNET_break (0);
       break;
     }
+    if (NULL == ds->toplevel)
+    {
+      GNUNET_break (0);
+      break;
+    }
     ds->progress_callback (ds->progress_callback_cls, 
                           NULL, GNUNET_SYSERR,
                           GNUNET_FS_DIRSCANNER_ALL_COUNTED);
@@ -336,6 +345,11 @@ process_helper_msgs (void *cls,
       break;
     }
     if (0 != left)
+    {
+      GNUNET_break (0);
+      break;
+    }   
+    if (NULL == ds->toplevel)
     {
       GNUNET_break (0);
       break;