#include "platform.h"
#include "gnunet_fs_service.h"
-static int ret;
+static int ret = 1;
static int verbose;
static void *
progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *info)
{
- char *s;
+ const char *s;
+ char *suri;
switch (info->status)
{
case GNUNET_FS_STATUS_PUBLISH_PROGRESS:
if (verbose)
{
- s = GNUNET_STRINGS_relative_time_to_string (info->value.publish.eta);
+ s = GNUNET_STRINGS_relative_time_to_string (info->value.publish.eta,
+ GNUNET_YES);
FPRINTF (stdout, _("Publishing `%s' at %llu/%llu (%s remaining)\n"),
info->value.publish.filename,
(unsigned long long) info->value.publish.completed,
(unsigned long long) info->value.publish.size, s);
- GNUNET_free (s);
}
break;
case GNUNET_FS_STATUS_PUBLISH_ERROR:
case GNUNET_FS_STATUS_PUBLISH_COMPLETED:
FPRINTF (stdout, _("Publishing `%s' done.\n"),
info->value.publish.filename);
- s = GNUNET_FS_uri_to_string (info->value.publish.specifics.
+ suri = GNUNET_FS_uri_to_string (info->value.publish.specifics.
completed.chk_uri);
- FPRINTF (stdout, _("URI is `%s'.\n"), s);
- GNUNET_free (s);
+ FPRINTF (stdout, _("URI is `%s'.\n"), suri);
+ GNUNET_free (suri);
if (info->value.publish.pctx == NULL)
{
if (kill_task != GNUNET_SCHEDULER_NO_TASK)
}
kill_task = GNUNET_SCHEDULER_add_now (&do_stop_task, NULL);
}
+ ret = 0;
break;
case GNUNET_FS_STATUS_PUBLISH_STOPPED:
GNUNET_break (NULL == pc);
ns = GNUNET_FS_namespace_create (ctx, pseudonym);
if (ns == NULL)
{
- FPRINTF (stderr, _("Failed to create namespace `%s'\n"), pseudonym);
+ FPRINTF (stderr, _("Failed to create namespace `%s' (illegal filename?)\n"), pseudonym);
ret = 1;
}
else
namespace = GNUNET_FS_namespace_create (ctx, pseudonym);
if (NULL == namespace)
{
- FPRINTF (stderr, _("Could not create namespace `%s'\n"), pseudonym);
+ FPRINTF (stderr, _("Failed to create namespace `%s' (illegal filename?)\n"), pseudonym);
GNUNET_FS_stop (ctx);
ret = 1;
return;
0, &GNUNET_GETOPT_set_one, &verbose},
GNUNET_GETOPT_OPTION_END
};
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"GNUnet publish starts\n");
bo.expiration_time =
GNUNET_FS_year_to_time (GNUNET_FS_get_current_year () + 2);
+
+ if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv))
+ return 2;
+
return (GNUNET_OK ==
GNUNET_PROGRAM_run (argc, argv, "gnunet-publish [OPTIONS] FILENAME",
gettext_noop