/*
This file is part of GNUnet.
- (C) 2001, 2002, 2004, 2005, 2006, 2007, 2009 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2009 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
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.
*/
/**
* @file fs/gnunet-download.c
static void
-cleanup_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+cleanup_task (void *cls)
{
GNUNET_FS_stop (ctx);
ctx = NULL;
static void
-shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+shutdown_task (void *cls)
{
if (NULL != dc)
{
* @param n total size of the download
* @param w desired number of steps in the progress bar
*/
-static void
-display_bar (unsigned long long x,
- unsigned long long n,
+static void
+display_bar (unsigned long long x,
+ unsigned long long n,
unsigned int w)
{
char buf[w + 20];
* for this operation; should be set to NULL for
* SUSPEND and STOPPED events). The value returned
* will be passed to future callbacks in the respective
- * field in the GNUNET_FS_ProgressInfo struct.
+ * field in the `struct GNUNET_FS_ProgressInfo`
*/
static void *
progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *info)
{
s = GNUNET_strdup (GNUNET_STRINGS_relative_time_to_string (info->value.download.eta,
GNUNET_YES));
- if (info->value.download.specifics.progress.block_download_duration.rel_value
- == GNUNET_TIME_UNIT_FOREVER_REL.rel_value)
+ if (info->value.download.specifics.progress.block_download_duration.rel_value_us
+ == GNUNET_TIME_UNIT_FOREVER_REL.rel_value_us)
s2 = _("<unknown time>");
else
s2 = GNUNET_STRINGS_relative_time_to_string (
t = GNUNET_STRINGS_byte_size_fancy (info->value.download.completed *
1000LL /
(info->value.download.
- duration.rel_value + 1));
+ duration.rel_value_us + 1));
FPRINTF (stdout,
_("Downloading `%s' at %llu/%llu (%s remaining, %s/s). Block took %s to download\n"),
info->value.download.filename,
case GNUNET_FS_STATUS_DOWNLOAD_COMPLETED:
s = GNUNET_STRINGS_byte_size_fancy (info->value.download.completed * 1000 /
(info->value.download.
- duration.rel_value + 1));
+ duration.rel_value_us + 1));
#if !WINDOWS
if (0 != isatty (1))
fprintf (stdout, "\n");
break;
case GNUNET_FS_STATUS_DOWNLOAD_STOPPED:
if (info->value.download.dc == dc)
- GNUNET_SCHEDULER_add_continuation (&cleanup_task, NULL,
- GNUNET_SCHEDULER_REASON_PREREQ_DONE);
+ GNUNET_SCHEDULER_add_now (&cleanup_task, NULL);
break;
case GNUNET_FS_STATUS_DOWNLOAD_ACTIVE:
case GNUNET_FS_STATUS_DOWNLOAD_INACTIVE:
ctx = NULL;
return;
}
- GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task,
- NULL);
+ GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
+ NULL);
}
0, &GNUNET_GETOPT_set_one, &delete_incomplete},
{'n', "no-network", NULL,
gettext_noop ("only search the local peer (no P2P network search)"),
- 0, &GNUNET_GETOPT_set_uint, &local_only},
+ 0, &GNUNET_GETOPT_set_one, &local_only},
{'o', "output", "FILENAME",
gettext_noop ("write the file to FILENAME"),
1, &GNUNET_GETOPT_set_string, &filename},
if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv))
return 2;
- return (GNUNET_OK ==
- GNUNET_PROGRAM_run (argc, argv, "gnunet-download [OPTIONS] URI",
- gettext_noop
- ("Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/chk/...)"),
- options, &run, NULL)) ? ret : 1;
+ ret = (GNUNET_OK ==
+ GNUNET_PROGRAM_run (argc, argv, "gnunet-download [OPTIONS] URI",
+ gettext_noop
+ ("Download files from GNUnet using a GNUnet CHK or LOC URI (gnunet://fs/chk/...)"),
+ options, &run, NULL)) ? ret : 1;
+ GNUNET_free ((void*) argv);
+ return ret;
}
/* end of gnunet-download.c */