X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ffs%2Fgnunet-directory.c;h=536766abba6db1a2631fa29888f31690eede29bd;hb=ed51bc86aad5044b88ce4fc3641cc920c8186863;hp=0721ea90e8af956796f1da15fe92d44f1d0b9fa6;hpb=631987c39403ebc91265ea685be6a7df3f209b5c;p=oweals%2Fgnunet.git diff --git a/src/fs/gnunet-directory.c b/src/fs/gnunet-directory.c index 0721ea90e..536766abb 100644 --- a/src/fs/gnunet-directory.c +++ b/src/fs/gnunet-directory.c @@ -1,6 +1,6 @@ /* 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 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 @@ -91,19 +91,19 @@ print_entry (void *cls, const char *filename, const struct GNUNET_FS_Uri *uri, EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME); if (uri == NULL) { - printf (_("Directory `%s' meta data:\n"), name); + printf (_("Directory `%s' meta data:\n"), name ? name : ""); GNUNET_CONTAINER_meta_data_iterate (meta, &item_printer, NULL); printf ("\n"); - printf (_("Directory `%s' contents:\n"), name); - GNUNET_free (name); + printf (_("Directory `%s' contents:\n"), name ? name : ""); + GNUNET_free_non_null (name); return; } string = GNUNET_FS_uri_to_string (uri); - printf ("%s (%s):\n", name, string); + printf ("%s (%s):\n", name ? name : "", string); GNUNET_free (string); GNUNET_CONTAINER_meta_data_iterate (meta, &item_printer, NULL); printf ("\n"); - GNUNET_free (name); + GNUNET_free_non_null (name); } @@ -136,7 +136,7 @@ run (void *cls, char *const *args, const char *cfgfile, i = 0; while (NULL != (filename = args[i++])) { - if ((GNUNET_OK != GNUNET_DISK_file_size (filename, &size, GNUNET_YES)) || + if ((GNUNET_OK != GNUNET_DISK_file_size (filename, &size, GNUNET_YES, GNUNET_YES)) || (NULL == (h = GNUNET_DISK_file_open (filename, GNUNET_DISK_OPEN_READ, @@ -173,11 +173,17 @@ main (int argc, char *const *argv) static struct GNUNET_GETOPT_CommandLineOption options[] = { GNUNET_GETOPT_OPTION_END }; - return (GNUNET_OK == - GNUNET_PROGRAM_run (argc, argv, "gnunet-directory [OPTIONS] FILENAME", - gettext_noop - ("Display contents of a GNUnet directory"), - options, &run, NULL)) ? ret : 1; + + if (GNUNET_OK != GNUNET_STRINGS_get_utf8_args (argc, argv, &argc, &argv)) + return 2; + + ret = (GNUNET_OK == + GNUNET_PROGRAM_run (argc, argv, "gnunet-directory [OPTIONS] FILENAME", + gettext_noop + ("Display contents of a GNUnet directory"), + options, &run, NULL)) ? ret : 1; + GNUNET_free ((void*) argv); + return ret; } /* end of gnunet-directory.c */