projects
/
oweals
/
gnunet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0da4872
)
Improve search result presentation for directories.
author
David Barksdale
<amatus.amongus@gmail.com>
Sun, 22 Dec 2013 00:40:36 +0000
(
00:40
+0000)
committer
David Barksdale
<amatus.amongus@gmail.com>
Sun, 22 Dec 2013 00:40:36 +0000
(
00:40
+0000)
src/fs/gnunet-search.c
patch
|
blob
|
history
diff --git
a/src/fs/gnunet-search.c
b/src/fs/gnunet-search.c
index df544c21b12b25e794a0e128610314bf154d1f0b..897416bacf6fd4d3a7f58fdd11a2f2e893cb14d4 100644
(file)
--- a/
src/fs/gnunet-search.c
+++ b/
src/fs/gnunet-search.c
@@
-136,8
+136,8
@@
static void *
progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *info)
{
static unsigned int cnt;
progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *info)
{
static unsigned int cnt;
+ int is_directory;
char *uri;
char *uri;
- char *dotdot;
char *filename;
switch (info->status)
char *filename;
switch (info->status)
@@
-156,12
+156,19
@@
progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *info)
GNUNET_CONTAINER_meta_data_get_by_type (info->value.search.
specifics.result.meta,
EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME);
GNUNET_CONTAINER_meta_data_get_by_type (info->value.search.
specifics.result.meta,
EXTRACTOR_METATYPE_GNUNET_ORIGINAL_FILENAME);
+ is_directory =
+ GNUNET_FS_meta_data_test_for_directory (info->value.search.
+ specifics.result.meta);
if (filename != NULL)
{
if (filename != NULL)
{
- while (NULL != (dotdot = strstr (filename, "..")))
- dotdot[0] = dotdot[1] = '_';
- printf ("gnunet-download -o \"%s\" %s\n", filename, uri);
+ GNUNET_DISK_filename_canonicalize (filename);
+ if (GNUNET_YES == is_directory)
+ printf ("gnunet-download -o \"%s%s\" -R %s\n", filename, GNUNET_FS_DIRECTORY_EXT, uri);
+ else
+ printf ("gnunet-download -o \"%s\" %s\n", filename, uri);
}
}
+ else if (GNUNET_YES == is_directory)
+ printf ("gnunet-download -o \"collection%s\" -R %s\n", GNUNET_FS_DIRECTORY_EXT, uri);
else
printf ("gnunet-download %s\n", uri);
if (verbose)
else
printf ("gnunet-download %s\n", uri);
if (verbose)