Forget to commit some files
[oweals/gnunet.git] / src / fs / fs_dirmetascan.c
index 7139ea45a99563ef6dfa57cfd23bd4d05ddcd3cb..45d502c91859552f33206d4cedbee218338cfb45 100644 (file)
@@ -1,10 +1,10 @@
 /*
      This file is part of GNUnet
-     (C) 2005-2012 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2005-2012 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
+     by the Free Software Foundation; either version 3, or (at your
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
@@ -14,8 +14,8 @@
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 
 /**
@@ -53,13 +53,13 @@ struct GNUNET_FS_DirScanner
    * Second argument to helper process.
    */
   char *ex_arg;
-  
+
   /**
    * The function that will be called every time there's a progress
    * message.
    */
   GNUNET_FS_DirScannerProgressCallback progress_callback;
-  
+
   /**
    * A closure for progress_callback.
    */
@@ -68,7 +68,7 @@ struct GNUNET_FS_DirScanner
   /**
    * After the scan is finished, it will contain a pointer to the
    * top-level directory entry in the directory tree built by the
-   * scanner. 
+   * scanner.
    */
   struct GNUNET_FS_ShareTreeItem *toplevel;
 
@@ -80,7 +80,7 @@ struct GNUNET_FS_DirScanner
   /**
    * Task scheduled when we are done.
    */
-  GNUNET_SCHEDULER_TaskIdentifier stop_task;
+  struct GNUNET_SCHEDULER_Task * stop_task;
 
   /**
    * Arguments for helper.
@@ -90,7 +90,6 @@ struct GNUNET_FS_DirScanner
 };
 
 
-
 /**
  * Abort the scan.  Must not be called from within the progress_callback
  * function.
@@ -103,11 +102,11 @@ GNUNET_FS_directory_scan_abort (struct GNUNET_FS_DirScanner *ds)
   /* terminate helper */
   if (NULL != ds->helper)
     GNUNET_HELPER_stop (ds->helper, GNUNET_NO);
-  
+
   /* free resources */
   if (NULL != ds->toplevel)
     GNUNET_FS_share_tree_free (ds->toplevel);
-  if (GNUNET_SCHEDULER_NO_TASK != ds->stop_task)
+  if (NULL != ds->stop_task)
     GNUNET_SCHEDULER_cancel (ds->stop_task);
   GNUNET_free_non_null (ds->ex_arg);
   GNUNET_free (ds->filename_expanded);
@@ -132,7 +131,7 @@ GNUNET_FS_directory_scan_get_result (struct GNUNET_FS_DirScanner *ds)
   GNUNET_assert (NULL == ds->helper);
   /* preserve result */
   result = ds->toplevel;
-  ds->toplevel = NULL; 
+  ds->toplevel = NULL;
   GNUNET_FS_directory_scan_abort (ds);
   return result;
 }
@@ -149,7 +148,7 @@ static struct GNUNET_FS_ShareTreeItem *
 advance (struct GNUNET_FS_ShareTreeItem *pos)
 {
   int moved;
-  
+
   GNUNET_assert (NULL != pos);
   moved = 0; /* must not terminate, even on file, otherwise "normal" */
   while ( (pos->is_directory == GNUNET_YES) ||
@@ -197,7 +196,7 @@ expand_tree (struct GNUNET_FS_ShareTreeItem *parent,
   struct GNUNET_FS_ShareTreeItem *chld;
   size_t slen;
 
-  chld = GNUNET_malloc (sizeof (struct GNUNET_FS_ShareTreeItem));
+  chld = GNUNET_new (struct GNUNET_FS_ShareTreeItem);
   chld->parent = parent;
   chld->filename = GNUNET_strdup (filename);
   GNUNET_asprintf (&chld->short_filename,
@@ -214,7 +213,7 @@ expand_tree (struct GNUNET_FS_ShareTreeItem *parent,
   if (NULL != parent)
       GNUNET_CONTAINER_DLL_insert (parent->children_head,
                                   parent->children_tail,
-                                  chld);  
+                                  chld);
   return chld;
 }
 
@@ -231,15 +230,15 @@ finish_scan (void *cls,
 {
   struct GNUNET_FS_DirScanner *ds = cls;
 
-  ds->stop_task = GNUNET_SCHEDULER_NO_TASK;
+  ds->stop_task = NULL;
   if (NULL != ds->helper)
   {
     GNUNET_HELPER_stop (ds->helper, GNUNET_NO);
     ds->helper = NULL;
   }
-  ds->progress_callback (ds->progress_callback_cls, 
+  ds->progress_callback (ds->progress_callback_cls,
                         NULL, GNUNET_SYSERR,
-                        GNUNET_FS_DIRSCANNER_FINISHED);    
+                        GNUNET_FS_DIRSCANNER_FINISHED);
 }
 
 
@@ -252,7 +251,7 @@ finish_scan (void *cls,
  * @param msg message from the helper process
  */
 static int
-process_helper_msgs (void *cls, 
+process_helper_msgs (void *cls,
                     void *client,
                     const struct GNUNET_MessageHeader *msg)
 {
@@ -275,7 +274,7 @@ process_helper_msgs (void *cls,
       GNUNET_break (0);
       break;
     }
-    ds->progress_callback (ds->progress_callback_cls, 
+    ds->progress_callback (ds->progress_callback_cls,
                           filename, GNUNET_NO,
                           GNUNET_FS_DIRSCANNER_FILE_START);
     if (NULL == ds->toplevel)
@@ -301,7 +300,7 @@ process_helper_msgs (void *cls,
       ds->pos = ds->pos->parent;
       return GNUNET_OK;
     }
-    ds->progress_callback (ds->progress_callback_cls, 
+    ds->progress_callback (ds->progress_callback_cls,
                           filename, GNUNET_YES,
                           GNUNET_FS_DIRSCANNER_FILE_START);
     ds->pos = expand_tree (ds->pos,
@@ -314,7 +313,7 @@ process_helper_msgs (void *cls,
   case GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_SKIP_FILE:
     if ('\0' != filename[left-1])
       break;
-    ds->progress_callback (ds->progress_callback_cls, 
+    ds->progress_callback (ds->progress_callback_cls,
                           filename, GNUNET_SYSERR,
                           GNUNET_FS_DIRSCANNER_FILE_IGNORED);
     return GNUNET_OK;
@@ -329,7 +328,7 @@ process_helper_msgs (void *cls,
       GNUNET_break (0);
       break;
     }
-    ds->progress_callback (ds->progress_callback_cls, 
+    ds->progress_callback (ds->progress_callback_cls,
                           NULL, GNUNET_SYSERR,
                           GNUNET_FS_DIRSCANNER_ALL_COUNTED);
     ds->pos = ds->toplevel;
@@ -340,7 +339,7 @@ process_helper_msgs (void *cls,
     {
       size_t nlen;
       const char *end;
-      
+
       if (NULL == ds->pos)
       {
        GNUNET_break (0);
@@ -361,7 +360,7 @@ process_helper_msgs (void *cls,
        GNUNET_break (0);
        break;
       }
-      ds->progress_callback (ds->progress_callback_cls, 
+      ds->progress_callback (ds->progress_callback_cls,
                             filename, GNUNET_YES,
                             GNUNET_FS_DIRSCANNER_EXTRACT_FINISHED);
       if (0 < left)
@@ -373,18 +372,18 @@ process_helper_msgs (void *cls,
          break;
        }
        /* having full filenames is too dangerous; always make sure we clean them up */
-       GNUNET_CONTAINER_meta_data_delete (ds->pos->meta, 
+       GNUNET_CONTAINER_meta_data_delete (ds->pos->meta,
                                           EXTRACTOR_METATYPE_FILENAME,
                                           NULL, 0);
        /* instead, put in our 'safer' original filename */
        GNUNET_CONTAINER_meta_data_insert (ds->pos->meta, "<libgnunetfs>",
                                           EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME,
                                           EXTRACTOR_METAFORMAT_UTF8, "text/plain",
-                                          ds->pos->short_filename, 
+                                          ds->pos->short_filename,
                                           strlen (ds->pos->short_filename) + 1);
       }
       ds->pos->ksk_uri = GNUNET_FS_uri_ksk_create_from_meta_data (ds->pos->meta);
-      ds->pos = advance (ds->pos);      
+      ds->pos = advance (ds->pos);
       return GNUNET_OK;
     }
   case GNUNET_MESSAGE_TYPE_FS_PUBLISH_HELPER_FINISHED:
@@ -397,7 +396,7 @@ process_helper_msgs (void *cls,
     {
       GNUNET_break (0);
       break;
-    }   
+    }
     if (NULL == ds->toplevel)
     {
       GNUNET_break (0);
@@ -410,7 +409,7 @@ process_helper_msgs (void *cls,
     GNUNET_break (0);
     break;
   }
-  ds->progress_callback (ds->progress_callback_cls, 
+  ds->progress_callback (ds->progress_callback_cls,
                         NULL, GNUNET_SYSERR,
                         GNUNET_FS_DIRSCANNER_INTERNAL_ERROR);
   return GNUNET_OK;
@@ -428,11 +427,11 @@ helper_died_cb (void *cls)
   struct GNUNET_FS_DirScanner *ds = cls;
 
   ds->helper = NULL;
-  if (GNUNET_SCHEDULER_NO_TASK != ds->stop_task)
+  if (NULL != ds->stop_task)
     return; /* normal death, was finished */
-  ds->progress_callback (ds->progress_callback_cls, 
+  ds->progress_callback (ds->progress_callback_cls,
                         NULL, GNUNET_SYSERR,
-                        GNUNET_FS_DIRSCANNER_INTERNAL_ERROR);  
+                        GNUNET_FS_DIRSCANNER_INTERNAL_ERROR);
 }
 
 
@@ -440,7 +439,7 @@ helper_died_cb (void *cls)
  * Start a directory scanner thread.
  *
  * @param filename name of the directory to scan
- * @param disable_extractor GNUNET_YES to not to run libextractor on files (only build a tree)
+ * @param disable_extractor #GNUNET_YES to not to run libextractor on files (only build a tree)
  * @param ex if not NULL, must be a list of extra plugins for extractor
  * @param cb the callback to call when there are scanning progress messages
  * @param cb_cls closure for 'cb'
@@ -449,7 +448,7 @@ helper_died_cb (void *cls)
 struct GNUNET_FS_DirScanner *
 GNUNET_FS_directory_scan_start (const char *filename,
                                int disable_extractor, const char *ex,
-                               GNUNET_FS_DirScannerProgressCallback cb, 
+                               GNUNET_FS_DirScannerProgressCallback cb,
                                void *cb_cls)
 {
   struct stat sbuf;
@@ -464,13 +463,13 @@ GNUNET_FS_directory_scan_start (const char *filename,
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
              "Starting to scan directory `%s'\n",
              filename_expanded);
-  ds = GNUNET_malloc (sizeof (struct GNUNET_FS_DirScanner));
+  ds = GNUNET_new (struct GNUNET_FS_DirScanner);
   ds->progress_callback = cb;
   ds->progress_callback_cls = cb_cls;
   ds->filename_expanded = filename_expanded;
-  if (disable_extractor)  
+  if (disable_extractor)
     ds->ex_arg = GNUNET_strdup ("-");
-  else 
+  else
     ds->ex_arg = (NULL != ex) ? GNUNET_strdup (ex) : NULL;
   ds->args[0] = "gnunet-helper-fs-publish";
   ds->args[1] = ds->filename_expanded;