{
/* check arguments */
if ((args[0] == NULL) || (args[1] != NULL) ||
- (GNUNET_YES != GNUNET_DISK_directory_test (args[0])))
+ (GNUNET_YES != GNUNET_DISK_directory_test (args[0], GNUNET_YES)))
{
printf (_("You must specify one and only one directory name for automatic publication.\n"));
ret = -1;
cfg_filename = GNUNET_strdup (cfgfile);
cfg = c;
dir_name = args[0];
- work_finished = GNUNET_CONTAINER_multihashmap_create (1024);
+ work_finished = GNUNET_CONTAINER_multihashmap_create (1024, GNUNET_NO);
load_state ();
run_task = GNUNET_SCHEDULER_add_with_priority (GNUNET_SCHEDULER_PRIORITY_IDLE,
&scan, NULL);
return GNUNET_OK;
}
+
/**
* The main function to automatically publish content to GNUnet.
*
gettext_noop
("Automatically publish files from a directory on GNUnet"),
options, &run, NULL)) ? ret : 1;
- (void) GNUNET_CONTAINER_multihashmap_iterate (work_finished,
- &free_item,
- NULL);
- GNUNET_CONTAINER_multihashmap_destroy (work_finished);
+ if (NULL != work_finished)
+ {
+ (void) GNUNET_CONTAINER_multihashmap_iterate (work_finished,
+ &free_item,
+ NULL);
+ GNUNET_CONTAINER_multihashmap_destroy (work_finished);
+ }
while (NULL != (wi = work_head))
{
GNUNET_CONTAINER_DLL_remove (work_head, work_tail, wi);
sigpipe = NULL;
GNUNET_free (cfg_filename);
cfg_filename = NULL;
+ GNUNET_free ((void*) argv);
return ok;
}