[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r18852 - gnunet-gtk/src/fs
From: |
gnunet |
Subject: |
[GNUnet-SVN] r18852 - gnunet-gtk/src/fs |
Date: |
Fri, 30 Dec 2011 23:13:26 +0100 |
Author: grothoff
Date: 2011-12-30 23:13:26 +0100 (Fri, 30 Dec 2011)
New Revision: 18852
Modified:
gnunet-gtk/src/fs/gnunet-fs-gtk-main_window_file_publish.c
Log:
-LRN: give all directories embedded names; CG: except if they match HOME,
that'd be far too dangerous
Modified: gnunet-gtk/src/fs/gnunet-fs-gtk-main_window_file_publish.c
===================================================================
--- gnunet-gtk/src/fs/gnunet-fs-gtk-main_window_file_publish.c 2011-12-30
21:38:56 UTC (rev 18851)
+++ gnunet-gtk/src/fs/gnunet-fs-gtk-main_window_file_publish.c 2011-12-30
22:13:26 UTC (rev 18852)
@@ -526,6 +526,7 @@
GNUNET_CRYPTO_hash (filename, strlen (filename), &hc);
GNUNET_CONTAINER_multihashmap_put (adc->metamap, &hc, pd,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
+ /* FIXME: what if this put fails? I think it actually can... Why unique
only? */
GNUNET_CONTAINER_meta_data_iterate (pd->meta, &add_to_meta_counter,
adc->metacounter);
}
@@ -745,6 +746,9 @@
struct GNUNET_CONTAINER_MultiHashMap *mhm;
struct GNUNET_CONTAINER_MultiHashMap *mcm;
unsigned int pc;
+ const char *ss;
+ const char *short_fn;
+ const char *user;
if (0 != STAT (filename, &sbuf))
return GNUNET_OK;
@@ -769,30 +773,33 @@
adc->metacounter = mcm;
adc->parent = parent;
adc->dir_entry_count = pc + 1;
+ short_fn = filename;
+ while ( (NULL != (ss = strstr (short_fn, DIR_SEPARATOR_STR))) &&
+ (ss[1] != '\0') )
+ short_fn = 1 + ss;
+ user = getenv ("USER");
+ if ( (user == NULL) ||
+ (0 != strncasecmp (user,
+ short_fn,
+ strlen(user))) )
+ {
+ /* only use filename if it doesn't match $USER */
+ GNUNET_CONTAINER_meta_data_insert (pd->meta, "<gnunet-gtk>",
+ EXTRACTOR_METATYPE_FILENAME,
+ EXTRACTOR_METAFORMAT_UTF8,
+ "text/plain", short_fn,
+ strlen (short_fn) + 1);
+ }
if (adc->metamap != NULL)
{
GNUNET_CRYPTO_hash (filename, strlen (filename), &hc);
GNUNET_CONTAINER_multihashmap_put (adc->metamap, &hc, pd,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
+ /* FIXME: what if this put fails? I think it actually can... Why unique
only? */
GNUNET_CONTAINER_meta_data_iterate (pd->meta, &add_to_meta_counter, mcm);
}
else
{
- char *filename_utf8;
- const char *ss, *short_fn;
-
- GNUNET_assert (mcm == NULL);
- /* we're top-level */
- short_fn = filename;
- while (NULL != (ss = strstr (short_fn, DIR_SEPARATOR_STR)))
- short_fn = 1 + ss;
- filename_utf8 = GNUNET_GTK_from_loc_to_utf8 ((char *) short_fn);
- GNUNET_CONTAINER_meta_data_insert (pd->meta, "<gnunet-gtk>",
- EXTRACTOR_METATYPE_FILENAME,
- EXTRACTOR_METAFORMAT_UTF8,
- "text/plain", filename_utf8,
- strlen (filename_utf8) + 1);
- GNUNET_free_non_null (filename_utf8);
add_entry_to_ts (adc->ts, &pd->iter, filename, &adc->bo, adc->do_index,
NULL, pd->meta);
}
@@ -1540,6 +1547,7 @@
return;
GNUNET_CONTAINER_multihashmap_put (uc->seen, &hc, "dummy",
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST);
+ /* FIXME: what if this put fails? Not convinced it cannot... */
desc =
GNUNET_CONTAINER_meta_data_get_first_by_types (last_meta,
EXTRACTOR_METATYPE_DESCRIPTION,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r18852 - gnunet-gtk/src/fs,
gnunet <=